【发布时间】:2017-08-08 07:02:25
【问题描述】:
来自Winsock Reference page,它说:
getaddrinfo 函数
返回值
成功返回零。失败返回非零 Windows 套接字错误代码,如在 Windows 套接字错误代码中找到的。
使用 gai_strerror 函数根据 getaddrinfo 函数返回的 EAI 代码打印错误消息。提供 gai_strerror 函数是为了符合 IETF 建议,但它不是线程安全的。 因此,建议使用 WSAGetLastError 等传统的 Windows Sockets 函数。
它说可以在Windows Sockets Error Codes page 中找到 EAI 错误代码,但我在该页面中看不到任何 EAI 代码,例如 EAI_AGAIN、EAI_BADFLAGS 等...
对于Windows,获取代码的正确方法是检查getaddrinfo是否返回非零值,然后调用WSAGetLastError获取代码?
【问题讨论】:
-
你使用 WSAGetLastError 并且这里是如何检索相应的字符串:stackoverflow.com/questions/3400922/…
-
'它说 EAI 错误代码可以在 Windows 套接字错误代码页面中找到'。不,它没有。它在该 MSDN 页面上提供了一个映射。
标签: c++ sockets winapi winsock