Window网络编程之Winsock(一)起步

王朝system·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

Window网络编程之Winsock(一)

Winsock的头文件可库

Winsock有两个主要版本,即Winsock 1和Winsock 2,两者都能在除了Windows CE外(Winsock CE 只支持Winsock 1)的所有Window平台上运行。开发Window网络程序时,

把WINSOCK2。H包含到应用程序中,对应的连接库是WS2_32.lib库。代码如下:

#include <winsock2.h>

#pragma comment (lib,"ws2_32.lib")

开始初始化Winsock库,调用WSAstartup(…)

int WSAStartup(

WORD wVersionRequested, //Winsock库的版本号,可以用MAKEWOR(2,2)

LPWSADATA lpWSAData //一个加载库版本的有关信息

);

在使用Winsock接口编好程序后应该调用WSACleanup函数,这个函数主要释放所有由Winsock分配的资源,并取消这个应用程序挂起的Winsock调用。

int WSACleanup(void);

现在就可以写个简单的Winsock网络程序框架了:

#include <cstdlib>

#include <iostream>

#include <Winsock2.h>

#pragma comment(lib,"ws2_32.lib")

using namespace std;

int main(int argc, char *argv[])

{

WSADATA wsaData;

//初始化Winsock版本2.2

int ret = WSAStartup(MAKEWORD(2,2),&wsaData);

if(ret != 0)

{

//注意:因为Winsock没有加载,所以我们不能使用WSAGetLastError

//来确定导致故障的特定错误。我们只能根据返回状态判断

cout<<"WSAStartup failed with error "<<ret<<endl;

WSACleanup();

return 0;

}

//这里就是我们创建socket要连接或者监听代码了

//......

//如果程序结束调用 WSACleanup

WSACleanup();

system("PAUSE");

return EXIT_SUCCESS;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航