函数的使用
int main()
{
WSADATA wsa; //初始化网络环境
if(WSAStartup(MAKEWORD(2,2),&wsa)!=0) //使用2.2版本的Socket。
{
cout<<"INITIAL FAILED!"<<endl;
return -1;
}
//成功
WSACleanup(); //清理网络环境,释放socket所占的资源
system("pause");
return 0;
}
代码详解
- WSAStartup();主要就是进行相应的socket库绑定。
函数原型:int WSAStartup ( WORD wVersionRequested, LPWSADATA lpWSAData );
使用Socket的程序在使用Socket之前必须调用WSAStartup函数。以后应用程序就可以调用所请求的Socket库中的其它Socket函数了,然后绑定找到的Socket库到该应用程序中。该函数执行成功后返回0。 - WSACleanup函数用来解除与Socket库的绑定
函数原型:int WSACleanup (void);
应用程序在完成对请求的Socket库的使用后,要调用WSACleanup函数来解除与Socket库的绑定并且释放Socket库所占用的系统资源。 - WSADATA数据类型:这个结构被用来存储被WSAStartup函数调用后返回的Winsock.dll执行的数据。
- MAKEWORD(2,2)表示使用WINSOCK2版本.wsaData用来存储系统传回的关于WINSOCK的资料.
函数原型:
WORD MAKEWORD(
BYTE bLow, //指定新变量的低字节序;
BYTE bHigh //指定新变量的高字节序;
);
makeword是将两个byte型合并成一个word型,一个在高8位(b),一个在低8位(a)