zoukankan      html  css  js  c++  java
  • gethostbyname(domain) 老是返回 NULL, 凌乱了

    struct hostent *h = gethostbyname(pDomain);

    今天在写一个下载网上文件到本地的小程序,在测试时发现 gethostbyname()老是返回NULL。

    解析不了域名了。

    问题出哪了? 相关的代码是从原来写过的项目中直接复制过来了,原来的项目可以正常工作啊。

    经过10多分钟的检查,终于找到原因,忘记了: Winsock服务的初始化 -> WSAStartup()

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    /*
        为了在应用程序当中调用任何一个Winsock API函数,首先第一件事情就是必须通过WSAStartup函数完成对Winsock服务的初始化,
        因此需要调用WSAStartup函数。使用Socket的程序在使用Socket之前必须调用WSAStartup函数。
        */
        WORD wVersionRequested;
        WSADATA wsaData;
        int ret;
     
        //WinSock初始化
        wVersionRequested = MAKEWORD(2, 2); //希望使用的WinSock DLL的版本
        ret = WSAStartup(wVersionRequested, &wsaData);
        if(ret != 0)
        {
            appLog("WSAStartup() failed!");
     
            return FALSE;
        }
     
        //确认WinSock DLL支持版本2.2
        if(LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2)
        {
            appLog("Invalid WinSock version!");
            WSACleanup();
     
            return FALSE;
        }

     

    2014-06-28

  • 相关阅读:
    java 字符串大小比较
    安卓应用如何赚钱
    报错找不到jquery-1.10.2.min.map解决办法
    android 中 webview 怎么用 localStorage?
    HTML5 本地存储
    js获取url参数值
    java调用webservice
    点圆的关系---1
    数学建模入门书籍介绍
    北京秋日风景-最大的银杏林海景色
  • 原文地址:https://www.cnblogs.com/personnel/p/4584998.html
Copyright © 2011-2022 走看看