【问题标题】:BSD Socket issue: inet_ntop returning "0.0.0.0"BSD 套接字问题:inet_ntop 返回“0.0.0.0”
【发布时间】:2009-06-25 15:42:52
【问题描述】:

我正在尝试获取我绑定的套接字正在侦听的机器的 IP。打印的端口号工作正常,但地址是“0.0.0.0”。这是相关的代码。在获取此代码之前,res 已传递给 getaddrinfogetsockname

char ip[INET_ADDRSTRLEN];
struct sockaddr_in *ipv4 = (struct sockaddr_in *)res->ai_addr;
void* addr = &(ipv4->sin_addr);

inet_ntop(res->ai_family, addr, ip, sizeof ip);

std::cout << "SERVER_ADDRESS " << ip << std::endl;
std::cout << "SERVER_PORT " << ipv4->sin_port << std::endl;

可能出了什么问题?

【问题讨论】:

    标签: c++ c sockets inet-socket


    【解决方案1】:

    0.0.0.0 地址表示套接字正在侦听所有地址。像127.0.0.1 这样的特定地址意味着服务器只监听该地址,而不监听其他任何地址。

    【讨论】:

      猜你喜欢
      • 2013-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-28
      • 2012-01-28
      • 1970-01-01
      相关资源
      最近更新 更多