我是一個套接字編程新手。這裏有一個片段:奇怪的客戶端地址返回通過接受(..)功能
struct sockaddr_storage client_addr;
...
client_addr_size = sizeof(client_addr);
client_socket = accept(server_socket,
(struct sockaddr *)&client_addr, &client_addr_size);
...
result = inet_ntop(AF_INET,
&((struct sockaddr_in *)&client_addr)->sin_addr,
client_addr_str, sizeof(client_addr_str));
我正在作爲服務器工作。無論何時,無論主機如何,客戶端連接的地址都是0.0.0.0。任何人都可以解釋,我做錯了什麼?
謝謝。
是的,那是對的。我已經解決了這個問題。還有一個人會興奮起來。我在提示中使用帶AI_PASSIVE的getaddrinfo函數。 我稍後將地址綁定到is ::。好嗎? – 2010-03-22 20:12:54
是的,沒關係(只要套接字仍然是'AF_INET6')。 – caf 2010-03-22 21:24:08