winsock库

加载Winsock库函数 : WSAStartup函数

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

WSADat头结构spa

 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库,应该包含对应的库文件code

1 #pragma comment(lib,"WS2_32")

之后封装的常常用到的CInitSock类blog

 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 };
相关文章
相关标签/搜索