转自:windows网络编程(完善了书上的代码)
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
int main()
{
WSADATA wsaData;
int ret = 0; //记录winsock api函数的调用返回状态 modify by lance 2012.06.22
//初始化winsock modify by lance 2012.06.22
if((ret = WSAStartup(MAKEWORD(2, 2), &wsaData)) != 0)
{
//注意:因为winsock没有加载,所以我们不能使用WSAGetLastError来确定导致故障的特定错误
//。但我们将根据WSAStartup的返回状态进行判断。 modify by lance 2012.06.22
printf("WSAStartup failed with error %d \n", ret);
return 1;
}
//当应用程序结束时,调用WSACleanup modify by lance 2012.06.22
if(WSACleanup() == SOCKET_ERROR)
{
printf("WSACleanup failed with error %d \n", WSAGetLastError());
return 1;
}
return 0;
}