2012-10-29 175 views

回答

5

我給sendto的地址來自getaddrinfo的第一個結果。原來,第一個結果現在是一個IPV6結果(使用sockaddr_in6)。發送到OS 10.8(至少現在)似乎只能與sockaddr_in地址一起使用。確保傳遞一個提示的getaddrinfo,說你只需要IPv4地址,即

struct addrinfo hint; 
memset(&hint, 0, sizeof(struct addrinfo)); 
hint.ai_family = AF_INET; 

struct addrinfo* result; 
int res = getaddrinfo(friendlyHostname, NULL, &hint, &result); 

閱讀http://linux.die.net/man/3/getaddrinfo獲取更多信息。