1 WSAStartup 编辑
int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData);
简介
WSAStartup,即WSA(Windows Sockets Asynchronous,Windows异步
套接字 )的启动命令。是Windows下的
网络编程 接口
软件 Winsock1 或 Winsock2 里面的一个命令(Ps:Winsock 是由Unix下的BSD Socket发展而来,是一个与
网络协议 无关的编程接口)。
详细说明
为了在
应用程序 当中调用任何一个Winsock API
函数 ,首先第一件事情就是必须通过WSAStartup
函数 完成对Winsock服务的初始化,因此需要调用WSAStartup
函数 。使用Socket的程序在使用Socket之前必须调用WSAStartup函数。该
函数 的第一个参数指明程序请求使用的Socket版本,其中高位
字节 指明副版本、低位字节指明主版本;
操作系统 利用第二个参数返回请求的Socket的版本信息。当一个
应用程序 调用WSAStartup
函数 时,
操作系统 根据请求的Socket版本来搜索相应的Socket库,然后绑定找到的Socket库到该应用程序中。以后
应用程序 就可以调用所请求的Socket库中的其它Socket
函数 了。
2 函数定义 编辑
int WSAStartup ( WORD wVersionRequested, LPWSADATA lpWSAData );wVersionRequested
⑴ wVersionRequested:一个WORD(双字节)型数值,在最高版本的Windows Sockets支持调用者使用,高阶字节指定小版本(修订本)号,低位字节指定主版本号。
⑵lpWSAData 指向WSADATA数据结构的
指针 ,用来接收Windows Sockets
[1]
实现的细节。
Windows Sockets API提供的调用方可使用的最高版本号。高位
字节 指出副版本(修正)号,低位字节指明主版本号。
初始化使用时范例:
// 初始化网络 WSADATA WSAData = { 0 }; if ( 0 != WSAStartup( WSA_VERSION, &WSAData ) ) { // Tell the user that we could not find a usable // WinSock DLL. if ( LOBYTE( WSAData.wVersion ) != LOBYTE(WSA_VERSION) || HIBYTE( WSAData.wVersion ) != HIBYTE(WSA_VERSION) ) ::MessageBox(NULL, _T("Incorrect version of WS2_32.dll found"), _T("Error"), MB_OK); WSACleanup(); }
参考文档:
http://baike.baidu.com/link?url=DDkqiqLkqw5lFoPBbnANqKCZSNSsvngqZrmsZykBcaFC_tJYWKhwWaK59UA8DeNR_XcqETfrRRdWrqaTa7hZRK