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.

  • 相关阅读:
    【作业4】测试作业-兴趣问题清单
    【读后感3】高效程序员的45个习惯
    【作业3】关于C语言的问卷调查
    【作业2】价值观作业
    Spring的零配置
    Spring容器中bean的作用域
    Spring注入方式
    Spring整合Struts2
    my first go
    Struts2对ajax的支持
  • 原文地址:https://www.cnblogs.com/tinaluo/p/7675808.html
Copyright © 2011-2022 走看看