從Winsock Reference page,它說:如何獲取getaddrinfo()錯誤代碼?
getaddrinfo函數
返回值
成功返回零。失敗返回一個非零的Windows套接字錯誤代碼,如在Windows套接字錯誤代碼中找到的。
使用gai_strerror函數根據由getaddrinfo函數返回的EAI代碼來打印錯誤消息。提供gai_strerror函數是爲了符合IETF建議,但它不是線程安全的。 因此,建議使用WSAGetLastError等傳統Windows套接字函數。
它說,EAI的錯誤代碼可以在Windows Sockets Error Codes page可以找到,但我不能看到該網頁,如EAI_AGAIN,EAI_BADFLAGS等任何EAI代碼...
對於Windows,正確的獲取代碼的方法是檢查getaddrinfo
是否返回非零值,然後致電WSAGetLastError
以獲取代碼?
雅你使用WSAGetLastError,這裏是如何檢索相應的字符串:https://stackoverflow.com/questions/3400922/how-do-i-retrieve-an-error-string-from-wsagetlasterror?rq=1 – Asesh
'它表示EAI錯誤代碼可以在Windows套接字錯誤代碼頁面找到'。不,它沒有。它在該MSDN頁面上提供了映射*。* – EJP