欢迎来到天天文库
浏览记录
ID:57031341
大小:763.50 KB
页数:25页
时间:2020-07-27
《网络程序设计04WinSock编程详解TCP通信编程课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、WinSock编程详解《网络程序设计》2回顾:WinSock编程详解-UDP通信编程UDP通信编程流程图3WinSock编程详解-TCP通信编程TCP通信编程流程TCP通信编程效果演示TCP客户端源代码分析TCP服务器源代码分析主要函数的功能和用法动手实践4WinSock编程详解-TCP通信编程TCP通信编程流程TCP通信编程效果演示TCP客户端源代码分析TCP服务器源代码分析主要函数的功能和用法动手实践51.TCP通信编程流程TCP通信编程流程6WinSock编程详解-TCP通信编程TCP通信编程流程TCP
2、通信编程效果演示TCP客户端源代码分析TCP服务器源代码分析主要函数的功能和用法动手实践72.TCP通信编程效果演示8WinSock编程详解-TCP通信编程TCP通信编程流程TCP通信编程效果演示TCP客户端源代码分析TCP服务器源代码分析主要函数的功能和用法动手实践93.TCP通信客户端源代码分析103.TCP通信客户端源代码分析使用Sockect调试工具,在没有编写TCP服务器时,测试你的客户端程序.11WinSock编程详解-TCP通信编程TCP通信编程流程TCP通信编程效果演示TCP客户端源代码分析T
3、CP服务器源代码分析主要函数的功能和用法动手实践124.TCP通信服务器源代码分析134.TCP通信服务器源代码分析TCP客户端与服务器程序互通测试:14WinSock编程详解-TCP通信编程TCP通信编程流程TCP通信编程效果演示TCP客户端源代码分析TCP服务器源代码分析主要函数的功能和用法动手实践155.主要函数功能和用法5.1socket和closesocket函数功能:创建一个套接字对象。SOCKETsockect(intaf,//指定地址格式,winsock仅支持AF_INETinttype,//
4、指定套接字类型intprotocol//配合type参数使用,指定使用的协议类型)返回值:套接字句柄。函数执行失败时返回-1(INVALID_SOCKET)。可通过WSAGetLastError()获取相应错误代码。type参数:Winsock支持三种套接字类型:SOCK_STREAM:流套接字,TCP协议;SOCK_DGRAM:数据报套接字,UDP协议;SOCK_RAW:原始套接字,自己封装报文。165.主要函数功能和用法5.1socket和closesocket函数当不使用socket()创建的套接字时,
5、就调用closesocket()函数将它关闭。函数用法如下:intclosesocket(SOCKETs);//s为要关闭的套接字句句柄引申:你知道什么是句柄吗?175.主要函数功能和用法5.2bind函数功能:将套接字关联到本地地址(和端口)。intbind(SOCKETs,//套接字句柄conststructsockaddr*name,//要关联的本地地址intnamelen//地址的长度)返回值:函数执行成功返回0,否则返回SOCKET_ERROR。可通过WSAGetLastError()获取相应错误代
6、码。185.主要函数功能和用法5.3listen函数功能:设置套接字进入监听状态。intlisten(SOCKETs,//套接字句柄intbacklog//监听队列中允许保持的尚未处理的最大连接数)返回值:函数执行成功返回0,否则返回SOCKET_ERROR。可通过WSAGetLastError()获取相应错误代码。195.主要函数功能和用法5.4accept函数功能:用于接受到来的客户连接。SOCKETaccept(SOCKETs,//服务器套接字句柄structsockaddr*addr,//(可选)指向
7、sockaddr_in结构的指针,用于取得对方的地址信息int*addrlen//(可选)指向地址长度的指针)返回值:套接字句柄。说明:在s上取出未处理连接的第一个连接,并为这个连接创建套接字,返回它的句柄。程序默认工作在阻塞模式下,即如果没有未处理的连接,则accept函数会一直等待,直到有新的连接发生时才返回205.主要函数功能和用法5.5connect函数功能:用于请求与服务器连接。intconnect(SOCKETs,//客户端套接字句柄conststructsockaddrFAR*name,//指向
8、sockaddr_in结构的指针,包含要连接的服务器地址信息intnamelen//sockaddr_in结构的长度)返回值:函数执行成功返回0,否则返回SOCKET_ERROR。可通过WSAGetLastError()获取相应错误代码。215.主要函数功能和用法5.6send函数功能:用于向一个已连接的套接字发送数据。流套接字中,一般使用send和recv来收发数据。intsend(SOCKETs
此文档下载收益归作者所有