Socket编程--WSAStartup的理解

1WSAStartup编辑

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] 实现的细节。
WindowsSockets 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值