加载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 };