这部分的内容主要讲述如何将WinSock的开发组件和运行组件加载到程序中。
WinSock开发组件和运行组件
WinSock是以windows动态链接库(Dynamic Link Library,DLL)的形式实现的,主要由两部分组成,分别是开发组件和运行组件。
1.包含WinSock头文件:#include
2.连接WinSock导入库:#pragma comment(lib,”Ws2_32.lib)
3.加载WinSock动态链接库,应用程序运行时必须装入WinSock动态链接库才能调用WinSock函数实现网络通信功能。
函数原型:int WSAStartup(WORD vVersionRequested,LPWSADATA lpWSAData);
函数的返回值是一个整数,调用成功返回0,调用失败则返回相应的值。
vVersionRequested:用于指明程序中要使用WinSock库的版本号,常用的是WinSock2的2.2版本,一般使用宏MAKEWORD(X,Y)进行赋值,参数X是副版本号,Y是主版本号。
lpWSAData:是用于返回关于使用WinSock版本的详细信息,它是一个WSADATA结构体变量的指针。
假设一个程序要使用2.2版本的WinSock,那么程序中可以采用如下代码加载WinSock动态链接库:
WSADATA wsaData;
WORD wWersionRequest=MAKEWORD(2,2);
if(WSAStartup(wVersionRequested,&wsaData)!=0){
//WinSock初始化错误处理代码
'''
}
4.注销WinSock动态链接库
应用程序在完成对WinSock动态链接库的使用后,需要解除与WinSock库的绑定,并释放WinSock库所占有的系统资源。
int WSACleanup(void);