c - 通过返回在 C 中找不到主机的地址获取主机

标签 c algorithm network-programming host

我做错了什么,当我传递一个 IP 地址或任何 IP 时,它总是在找不到主机 block 中失败。如有任何帮助,我们将不胜感激。

    struct in_addr ip;
    inet_aton(argv[1], &ip);
    he= gethostbyaddr((const void *)&ip,len,AF_INET);
    printf("%s \n", he->h_name);

最佳答案

gethostbyaddr()的第二个参数是传递的binary的长度 地址,所以 len 应该是 sizeof(in_addr)

备注:您应该考虑改用 getnameinfo(),它“更现代”并且可以处理 IPv4 和 IPv6 地址。

关于c - 通过返回在 C 中找不到主机的地址获取主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18859753/

相关文章:

c - 编译动态库时消除对 MinGW 特定 DLL 的依赖

c - 未记录的结构定义和转发

algorithm - 将 HSL 转换为 RGB 时出现问题

c++ - 如何测试一个序列是否符合给定模式中的另一个序列?

c - 验证具有单个服务器和多个客户端的 UDP 通信协议(protocol)的有效方法

java - InetAddress.getLocalHost().getHostAddress() 返回不需要的地址 Java

C使用结构使用sscanf将fgets()char数组解析为多个变量

c - C 中的 malloc 命令错误

Python:多对多比较以找到所需的数据集

c++ - 从 NFQueue 读取数据包时的序列号为零