ins*_*846 1 c sockets macos network-programming sendto
我有一个适用于Mac OS 10.6的程序,但在10.8中莫名其妙地失败了.它的要点是sendto现在返回-1并将errno设置为EINVAL(22).出了什么问题?
我给sendto的地址来自getaddrinfo的第一个结果.事实证明,第一个结果现在是IPV6结果(使用sockaddr_in6).OS 10.8上的sendto(至少目前为止)似乎只适用于sockaddr_in地址.确保传递一个提示,告诉你只需要ipv4地址的getaddrinfo,即
struct addrinfo hint;
memset( &hint, 0, sizeof(struct addrinfo));
hint.ai_family = AF_INET;
struct addrinfo* result;
int res = getaddrinfo( friendlyHostname, NULL, &hint, &result );
Run Code Online (Sandbox Code Playgroud)
阅读http://linux.die.net/man/3/getaddrinfo了解更多信息.
| 归档时间: |
|
| 查看次数: |
655 次 |
| 最近记录: |