winsock库

来源:互联网 发布:overture中文版mac 编辑:程序博客网 时间:2024/06/08 10:38

加载Winsock库函数 : WSAStartup

1 int WSAStartup(2                WORD wVersionRequested,//指定想要加载的winsock库3                LPWSADATA lpWSAData//指向 WSADATA的指针,用来返回DLL库的详细信息4 );

WSADat头结构

复制代码
 1 typedef struct WSAData 2 { 3     WORD wVersion;    //库文件建议应用程序使用的版本 4     WORD wHighVersion;    //库文件支持的最高版本 5     char szDescription[WSADESCRIPTION_LEN+1];    //库描述字符串 6     char szSystemStatus[WSASYS_STATUS_LEN+1];    //系统状态字符串 7     unsigned short iMaxSockets;    //同时支持的最大套接字的数量 8     unsigned short iMaxUdpDg;    //2.0版中已废弃的参数 9     char FAR* lpVendorInfo;    //已废弃的参数10 }WSADATA,FAR* LOWSADATA;
复制代码

每一个WSAStart调用必须对应一个队WSAClean的调用,这个函数用来释放winsock库

int WSACleanup(void);

如果想使用winsock库,应该包含对应的库文件

1 #pragma comment(lib,"WS2_32")

以后封装的经常用到的CInitSock类

复制代码
 1 #include <winsock2.h> 2 #pragma comment(lib,"WS2_32") 3 class CInitSock 4 { 5 public: 6     CInitSock(BYTE minorVer=2,BYTE majorVer=2) 7     { 8         WSADATA wsaData; 9         WORD sockVersion = MAKEWORD(minorVer,majorVer);10         if(::WSAStartup(sockVersion,&wsaData)!=0)11         {12             exit(0);13         }14     }15     ~CInitSock()16     {17         ::WSACleanup();18     }19 };
复制代码
原创粉丝点击