[英]BSD Socket issue: inet_ntop returning “0.0.0.0”
我正試圖讓機器的IP成為我一直在聆聽的套接字。 打印的端口號工作正常,但地址為“0.0.0.0”。 這是相關的代碼。 在獲取此代碼之前, res
已傳遞給getaddrinfo
和getsockname
。
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;
可能有什么不對?
地址0.0.0.0
表示套接字正在偵聽所有地址。 像127.0.0.1
這樣的特定地址意味着服務器只是在監聽該地址,而不是在任何其他地址上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.