4

我正在尝试获取我绑定的套接字正在侦听的机器的 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;

有什么问题?

4

1 回答 1

6

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

于 2009-06-25T15:46:01.603 回答