CSDN=>FAQ=>FAQ 展示
  • 问题内容:请问gethostbyaddr的用法?
  • 原讨论链接:http://community.csdn.net/expert/topicview1.asp?id=1102362
  • 所属论坛:网络通信     审核组:其他
  • 提问者:RickeyLau     解决者:xuying
  • 感谢:
  • 关键字:函数 调用 控件 专题开发/技术/项目 字段 触发器 网络通信 变量 语句 堆栈 窗体 视图 socket编程
  • 答案:

    我的代码如下:

      WSAData wsadata;
      WSAStartup(MAKEWORD(2,2),&wsadata);

      SOCKADDR_IN InternetAddr;
      int nPortID=35050;

      InternetAddr.sin_addr.s_addr=inet_addr("192.168.0.92"/*本地IP*/);
      InternetAddr.sin_family=AF_INET;
      InternetAddr.sin_port=htons(nPortID);

      hostent* pht=gethostbyaddr((const char*)&InternetAddr,sizeof(SOCKADDR_IN),AF_INET);

      WSACleanup();
      return 0;

    结果pht无效,哪里错了??
    ---------------------------------------------------------------

    不要将SOCKADDR_IN转换成char *,而是只转换地址inet_addr("192.168.0.92")

    DWORD dwIPAddr ;

    dwIPAddr = inet_addr("192.168.0.92");
    if (dwIPAddr == INADDR_NONE)
    AfxMessageBox("Error");
    else
    {
    lpHostEnt = gethostbyaddr((LPSTR)&dwIPAddr, 4, AF_INET);
    if(!lpHostEnt)
    AfxMessageBox("Error");
    else
    AfxMessageBox(lpHostEnt->h_name);
    }

  • 评价: 有价值 给朵鲜花(0) 无价值 扔个鸡蛋(0)
相关FAQ
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo