zoukankan      html  css  js  c++  java
  • winSocket编程(一)WSAStartup

    /*******************************************************************
    *   更新日期:2017-11-07 10:33:08
    *   进度:完成
    *   作者:LuoTian
    *   备注:
    *******************************************************************/

    WSAStartup()是套接字编程调用的第一个函数

    int WSAStartup(
        WORD wVersionRequested,
        LPWSADATA lpWSAData
    );

    wVersionReauested:指定加载的winsock版本号,可以通过MAKEWORD(X,Y)来指定,其中X是高字节,Y是低字节。高字节为副版本号, 低字节为主版本号。

    lpWSAData:指向LPWSADATA结构的指针,该参数返回最终加载动态库的相关信息。

    结构形式为:

    typedef struct WSAData {
            WORD                    wVersion;
            WORD                    wHighVersion;
            char                    szDescription[WSADESCRIPTION_LEN+1];
            char                    szSystemStatus[WSASYS_STATUS_LEN+1];
            unsigned short          iMaxSockets;
            unsigned short          iMaxUdpDg;
            char FAR *              lpVendorInfo;
    } WSADATA, FAR * LPWSADATA;

    一个完整的示例程序,功能:查看DLL是否支持2.2(应用程序只支持2.2,否则退出)

    #include "winsock2.h"
    #pragma comment(lib,"WS2_32.lib")
    WORD wVersion;
    WSADATA wsaData;
    
    int main()
    {
        int nErrCode;
        wVersion=MAKEWORD(2,2);
        nErrCode=WSAStartup(wVersion,&wsaData);
        if(nErrCode!=0)
        {
            return 0;
        }
        if(LOBYTE(wsaData.wVersion)!=2 || HIBYTE(wsaData.wVersion)!=2)
        {
    
            WSACleanup();
            return 0;
        }
        return 0;
    }

    WSAStartup成功返回0,失败返回非0.

  • 相关阅读:
    MVC设置默认页面
    MySQL_DBA整理
    解决git提交敏感信息(回退git版本库到某一个commit)
    并发数计算
    高并发下的 Nginx 优化与负载均衡
    PassengerNginxdebian快速部署Rails
    Linux+postfix+extmail+dovecot打造基于web页面的邮件系统
    2018.11.30软件更新公告
    2018.10.11软件更新公告
    2018.09.25软件更新公告
  • 原文地址:https://www.cnblogs.com/tinaluo/p/7675808.html
Copyright © 2011-2022 走看看