tcp,udp通信编程入门c++.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TCP/UDP通信编程入门(C++ ) 1.TCP与UDP连接模式的比较 TCP:Transmission Control Protocol传输控制协议 TCP是一种面向连接(连接导向)的、可 靠的、基于字节流的运输层(Tran sport layer)通信协议. UDP:User Datagram Protocol 用户数据报协议(UDP )是 OSI参考模型中一种无连 接的传输层协议,提供面向事务的简单不可靠信息传送服务 有关这两种模式如果你想了解更多的话, 看这儿: /v20113.htm7syn=TCP /v33638.htm .TCP Server 创建流程: WSAStartup(...)-socket(...)-b in d(...)-liste n( ...)-accept(...)-recv(...)-closesocket(...)- WSAClea nup(); TCP Client创建流程: WSAStartup(...)-socket(...)-b in d(...)-c onn ect(...)-se nd(...)-closesocket(...)- WSAClea nup(); .UDP Server 创建流程: WSAStartup(...)-socket(...)-bi nd(...)-recvfrom(...)-closesocket(...)-WSACIea nup(); UDP Client创建流程: WSAStartup(...)-socket(...)-se ndto(...)-closesocket(...)-WSACIea nu p(); 上面的不用记,等下面的函数讲解完,函数理解了,也就自然串起来了。 函数解析: nt WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData );本函数初始化 win sock 库 EG : WSADATA wsa; WSAStartup(MAKEWORD(2,2),wsa);//MAKEWORD 将前面的 2 和后面的 2 组成一个新的 WORD 。 生成一个版本号。MAKEWORD(a,b),a=2,1;b=1,0; 都可以。当然你用 0x101,0x200,0x202 也没错。 SOCKET socket( int af, int type, i nt protocol ); 第一个参数指定应用程序使用的通信协议的协议族,对于 TCP/IP协议族,该参数置 AF_INET; 第二个参数指定要创建的套接字类型,流套接字类型为 SOCK_STREAM、数据报套接字类 型为 SOCK_DGRAM ; 第三个参数指定应用程序所使用的通信协议。 如果协议protocol未指定(等于0),则使用 缺省的连接方式。(这个通常设置为 0 )。 EG: socket(AF_INET,SOCK_STREAM,0); nt bi nd( SOCKET s, const struct sockaddr FAR* name, int n amele n); sockaddr 结构定义如下: struct sockaddr{ u_short sa_family; char sa_data[14]; short int sin _family; /* Address family */ un sig ned short int sin _port; /* Port nu mber */ struct in _addr sin _addr; /* Internet address */ un sig ned char sin _zero[8]; /* Same size as struct sockaddr */ //这个不用管,只是为了使结构体与 sockaddr_i n 结构体长度匹 配 . }; 这儿因为要绑定主机,所以必须用结构体 sockaddr_in的结构变量记录主机信息。然后在强 制类型转换成sockaddr类型。应该不难理解吧 ~ EG : sockaddr_i n mycomputeri nfo; mycomputeri nfo.sin_family=AF」N ET; mycomputerinfo.sin_port=htons(端口号)//服务端端口,这里要用 htons函数将端口从本地字 节序转换为网络字节序才能使用。具体参见 /view/569197.htm mycomputerinfo.sin_addr.s_addr=inet_addr(IP); // 服务端 IP 地址。对 IP 的初始化还有另外一种 方式。具体记不清了,自己查阅一下吧。 inet_addr(...)函数将字符串转

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档