【问题标题】:error: incompatible type for argument 1 of 'inet_ntoa'错误:“inet_ntoa”的参数 1 的类型不兼容
【发布时间】:2022-01-12 22:29:32
【问题描述】:

我已经尝试寻找方法来获取客户端的IP 地址,完成变量和库的声明(使用 windows so winsock2.h)。我还使用了16 而不是INET_ADDRSTRLEN,因为它没有执行

inet_ntoa(AF_INET, &(client_addr.sin_addr), addr, 16);
printf("The IP address of client is: %s\n",addr);

有人可以帮忙吗?

【问题讨论】:

  • inet_ntoa 只需要一个参数,它不是地址族。 ref

标签: c sockets network-programming


【解决方案1】:

您使用通常传递给inet_ntop 的参数并将它们传递给inet_ntoa,它只需要一个struct in_addr 参数。

如果inet_ntop 可用,则不应使用inet_ntoa。但使用getnameinfo 可能会更好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-02
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 2021-02-21
    • 1970-01-01
    相关资源
    最近更新 更多