socket编程要调用各种socket函数,但是需要库Ws2_32.lib和头文件Winsock2.h,这里的WSAStartup就是为了向操作系统说明,我们要用哪个库文件,让该库文件与当前的应用程序绑定,从而就可以调用该版本的socket的各种函数了。
#include<WinSock2.h> //第2版本的网络库
#pragma comment(lib,"ws2_32.lib") //windows 32位版本的,没有64版本的,但是64位下也有32位版本的
详细说明
为了在 应用程序当中调用任何一个Winsock API 函数,首先第一件事情就是必须通过WSAStartup 函数完成对Winsock服务的初始化,因此需要调用WSAStartup 函数。使用Socket的程序在使用Socket之前必须调用WSAStartup函数。该 函数的第一个参数指明程序请求使用的Socket版本,其中高位 字节指明副版本、低位字节指明主版本; 操作系统利用第二个参数返回请求的Socket的版本信息。当一个 应用程序调用WSAStartup 函数时, 操作系统根据请求的Socket版本来搜索相应的Socket库,然后绑定找到的Socket库到该应用程序中。以后 应用程序就可以调用所请求的Socket库中的其它Socket 函数了。
函数原型
int
WSAAPI
WSAStartup(
_In_ WORD wVersionRequested,
_Out_ LPWSADATA lpWSAData
);
使用方法:
当一个应用程序调用WSAStartup函数时,操作系统根据请求的Socket版本来搜索相应的Socket库,然后绑定找到的Socket库到该应用程序中。以后应用程序就可以调用所请求的Socket库中的其它Socket函数了。
参数说明:
wVersionRequired:
这是一个我们需要的网络库版本号
lpWSAData:
这是一个WSADATA的指针。WSADATA是一个结构体, WSAStartup()函数会将环境的网络库信息存在这个结构体中。
typedef struct WSAData {
WORD wVersion;
WORD wHighVersion