簡體   English   中英

BSD套接字問題:inet_ntop返回“0.0.0.0”

[英]BSD Socket issue: inet_ntop returning “0.0.0.0”

我正試圖讓機器的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;

可能有什么不對?

地址0.0.0.0表示套接字正在偵聽所有地址。 127.0.0.1這樣的特定地址意味着服務器只是在監聽該地址,而不是在任何其他地址上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM