winsocket 学习——WSAStartup()函数

使用Winsock库函数之前,必须先调用函数WSAStartup,该函数负责初始化动态连接库Ws2_32.dll.

函数定义:

    int WSAStartup ( WORD wVersionRequested, LPWSADATA lpWSAData );

    wVersionRequested:[IN],是一个WORD(双字节)数值,它指定了应用程序需要使用的Winsock版本.
     主版本号在 低字节, 次版本号在 高字节。

    不关心版本问题:
    使用常量 WINSOCK_VERSION 赋值给 wVersionRequested    ,   常量在Winsock2.h中定义。

   
    实例:希望版本号为 1.2 可以如下代码:
      
    wVersionRequested = 0x0201,或者 wVersionRequested = MAKEWORD(1,2)

    MAKEWORD是一个宏定义主要由两个字节组成的WORD


    lpWSAData:[OUT],指向WSADATA数据结构的指针,该结构用于返回本机的Winsock系统实现的信息.
   该结构WhighVersion和wVersion两个域系统支持的最高版本,后者是系统希望调用者使用的版本.

   函数成功 返回0; 否则返回错误码. 需要注意ws2_32.dll尚未初始化,是无法调用

   WSAGetLastError().int WSAGetLastError(void);

   WSAStartup是任何使用Winsock的应用程序或者DLL首先必须调用Winsock库函数 .

    一方面它初始化 ws2_32.dll,另一方面他用于在应该程序DLL与系统Winsock库版本协商.
   
当要求的版本(Winsock的最高版本)等与或高于系统支持的最底版本(下限),那么该函数操作成功并且在WSADATA.WhighVersion中返回系统支持的最高版本,在WSADATA.wVersion中返回系统支持的最高版(上限)和 wVersionRequested 之间的较小值。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值