VC中网络编程的常用函数及UDP,TCP协议编程步骤【精选】

VC中网络编程的常用函数及UDP,TCP协议编程步骤【精选】

ID:46548973

大小:50.50 KB

页数:6页

时间:2019-11-25

VC中网络编程的常用函数及UDP,TCP协议编程步骤【精选】_第1页
VC中网络编程的常用函数及UDP,TCP协议编程步骤【精选】_第2页
VC中网络编程的常用函数及UDP,TCP协议编程步骤【精选】_第3页
VC中网络编程的常用函数及UDP,TCP协议编程步骤【精选】_第4页
VC中网络编程的常用函数及UDP,TCP协议编程步骤【精选】_第5页
资源描述:

《VC中网络编程的常用函数及UDP,TCP协议编程步骤【精选】》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、VC中网络编程的常用函数及UDPJCP协议编程步月1.SOCKET类型SOCKET是socket套接字类型,在WINSOCK2.H中有如下定义:typedefunsignedintu_int;typedefu_intSOCKET;可知套接字实际上就是一个无符号整型,它将被Socket环境管理和使用。套接字将被创建、设置、用來发送和接收数据,最后会被关闭。2.WORD类型、MAKEWORD.LOBYTE和IIIBYTE宏WORD类型是一个16位的无符号整型,在WTYPES.II中被定义为:typedefunsignedshortWORD;其目的是提供两个字节的存储,在Socket中这两个

2、字节可以表示主版本号和副版本号。使用MAKEWORD宏可以给一个WORD类型赋值。例如耍表示主版木号2,副版木号0,可以使用以卜•代码:WORDwVcrsionRequcstcd;wVcrsionRequcstcd=MAKEWORD(2,0);注意低位内存存储主版木号2,高位内存存储副版本号0,其值为0x0002。使用宏LOBYTE可以读取WORD的低位字节,IIIBYTE可以读取高位字节。3.WSADATA类型和LPWSADATA类型WSADATA类型是一个结构,描述了Socket库的一些相关信息,其结构定义如下:typedefstructWSAData{WORDwVersion;W

3、ORDwHighVersion;charszDescription[WSADESCRIPTION_LEN+l];charszSystemStatus[WSASYS_STATUS_LEN+l];unsignedshortiMaxSockets;unsignedshortiMaxUdpDg;charFAR*lpVendorlnfo;}WSADATA;typedefWSADATAFAR*LPWSADATA;值得注意的就是wVersion字段,存储了Socket的版本类型。LPWSADATA是WSADATA的指针类型。它们通过Socket的初始化函数WSAStartup读取出来。4.WSASt

4、artup函数WSAStartup函数被用来初始化Socket环境,它的定义如卜":intPASCALFARWSAStartup(WORDwVersionRcquired,LPWSADATAlpWSAData);其返回值为整型,调用方式为PASCAL(即标准类型,PASCAL等于_stdcall),参数有两个,第一个参数为WORD类型,指明了Socket的版本号,第二个参数为WSADATA类型的指针。若返冋值为0,则初始化成功,若不为0则失败。1.WSACleanup函数这是Socket环境的退出函数。返冋值为0表示成功,S0CKET_ERR0R表示失败。2.socket函数socke

5、t的创建函数,其定义为:SOCKETPASCALFARsocket(intaf,inttype,intprotocol);第一个参数为intaf,代表网络地址族,目前只冇一种取值是有效的,即AF.INET,代表internet地址族;第二个参数为inttype,代表网络协议类型,SOCK^DGRAM代表UDP协议,SOCK_STREAM代表TCP协议;第三个参数为intprotocol,指定网络地址族的特殊协议,目前无用,赋值0即可。返回值为SOCKET,若返回TNVAIJD_SOCKET则失败。3.setsockopt函数(一般是没有用的)这个函数用來设置Socket的属性,若不能正

6、确设置socket属性,则数据的发送和接收会失败。定义如2intPASCALFARsetsockopt(SOCKETs,intlevel,intoptname,constcharFAR*optval,intoptlen);其返冋值为int类型,0代表成功,SOCKET_ERROR代表有错误发生。第一个参数SOCKETs,代表要设置的套接字;第二个参数intlevel,代表要设置的属性所处的层次,层次包含以下取值:SOL_SOCKET代表套接字层次;IPPROTO_TCP代表TCP协议层次,IPPROTO_IP代表IP协议层次(后面两个我都没有用过);第三个参数intoptname,代表

7、设置参数的名称,SO_BROADCAST代表允许发送广播数据的属性,其它属性可参考MSDN;第四个参数constcharFAR*optval,代表指向存储参数数值的指针,注意这里可能要使用reinterpret_cast类型转换;第五个参数intoptlen,代表存储参数数值变量的长度。4.sockaddr_in>in_addr类型,inet_addr>inet_ntoa函数sockciddr_in定义了socket发送和接收数据包的地址,定义

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。