- 3
- 0
- 约 6页
- 2015-08-23 发布于河南
- 举报
VC中网络编程的常用函数及UDP,TCP协议编程步骤
1.SOCKET类型SOCKET是socket套接字类型,在WINSOCK2.H中有如下定义:typedef unsigned int????u_int;typedef u_int???????????SOCKET;可知套接字实际上就是一个无符号整型,它将被Socket环境管理和使用。套接字将被创建、设置、用来发送和接收数据,最后会被关闭。
2.WORD类型、MAKEWORD、LOBYTE和HIBYTE宏WORD类型是一个16位的无符号整型,在WTYPES.H中被定义为:typedef unsigned short WORD;其目的是提供两个字节的存储,在Socket中这两个字节可以表示主版本号和副版本号。使用MAKEWORD宏可以给一个WORD类型赋值。例如要表示主版本号2,副版本号0,可以使用以下代码:WORD wVersionRequested;??wVersionRequested = MAKEWORD( 2, 0 );注意低位内存存储主版本号2,高位内存存储副版本号0,其值为0x0002。使用宏LOBYTE可以读取WORD的低位字节,HIBYTE可以读取高位字节。
3. WSADATA类型和LPWSADATA类型WSADATA类型是一个结构,描述了Socket库的一些相关信息,其结构定义如下:typedef struct WSAData {????????WORD????????????????????wVersion;????????WORD????????????????????wHighVersion;????????char????????????????????szDescription[WSADESCRIPTION_LEN+1];????????char????????????????????szSystemStatus[WSASYS_STATUS_LEN+1];????????unsigned short??????????iMaxSockets;????????unsigned short??????????iMaxUdpDg;????????char FAR *??????????????lpVendorInfo;} WSADATA;typedef WSADATA FAR *LPWSADATA;值得注意的就是wVersion字段,存储了Socket的版本类型。LPWSADATA是WSADATA的指针类型。它们通过Socket的初始化函数WSAStartup读取出来。
4. WSAStartup函数WSAStartup函数被用来初始化Socket环境,它的定义如下:int PASCAL FAR WSAStartup(WORD wVersionRequired, LPWSADATA lpWSAData);其返回值为整型,调用方式为PASCAL(即标准类型,PASCAL等于__stdcall),参数有两个,第一个参数为WORD类型,指明了Socket的版本号,第二个参数为WSADATA类型的指针。若返回值为0,则初始化成功,若不为0则失败。
5.WSACleanup函数这是Socket环境的退出函数。返回值为0表示成功,SOCKET_ERROR表示失败。
6.socket函数socket的创建函数,其定义为:SOCKET PASCAL FAR socket (int af, int type, int protocol);第一个参数为int af,代表网络地址族,目前只有一种取值是有效的,即AF_INET,代表internet地址族;第二个参数为int type,代表网络协议类型,SOCK_DGRAM代表UDP协议,SOCK_STREAM代表TCP协议;第三个参数为int protocol,指定网络地址族的特殊协议,目前无用,赋值0即可。返回值为SOCKET,若返回INVALID_SOCKET则失败。
7.setsockopt函数(一般是没有用的)这个函数用来设置Socket的属性,若不能正确设置socket属性,则数据的发送和接收会失败。定义如下:int PASCAL FAR setsockopt (SOCKET s, int level, int optname, const char FAR * optval, int optlen);?????????????????????????其返回值为int类型,0代表成功,SOCKET_ERROR代表有错误发生。第一个参数SOCKET s,代表要设置的套接字;第二个参数int level,代表要设置的属性所处的层次,层次包含以下
您可能关注的文档
- RFID信息安全策略分析.doc
- RFID学习.ppt
- RFID应用概述及选择手持式RFID读写器注意事项.doc
- RFID在仓储物流中的应用.doc
- RFID在军事行业的应用.doc
- RFID在轮胎行业中的应用.doc
- RFID在烟草制丝线的应用.doc
- RFID中间件概述.doc
- RHS2000呼叫中心管理平台使用手册.doc
- RIP,IGRP,EIGRP,OSPF 比较.doc
- (2026春新版)部编版八年级语文下册《第一单元》PPT课件.pptx
- 2018电力监控系统网络安全监测装置技术规范.docx
- 2022电力监控系统安全防护方案审核要点.docx
- 2014电力电缆光伏系统EN 50618欧标.docx
- (2026春新版)人教版二年级数学下册《第三单元 万以内数的认识》教案.docx
- (2026春新版)人教版二年级数学下册《第四单元 万以内的加法和减法》教案.docx
- (2026春新版)人教版二年级数学下册《综合与实践 时间在哪里》教案.docx
- (2026春新版)苏教版二年级数学下册《综合与实践 时间有多长》教案 .pdf
- (2026春新版)部编版三年级语文下册第3单元(教案).docx
- (2026春新版)部编版三年级语文下册第8单元(教案).docx
原创力文档

文档评论(0)