資源描述:
《windowssocket錯誤碼及出錯原因》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、windowssocket錯誤碼及出錯原因編程2009-11-0114:33:21閱讀1890評論0??字號:大中小?訂閱本文轉(zhuǎn)自http://blog.csdn.net/khler/archive/2007/07/11/1685023.aspxWindowsSockets在頭文件winsock.h中定義了所有的錯誤碼,它們包括以“WSA”打頭的WindowsSockets實現(xiàn)返回的錯誤碼和BerkeleySockets定義的錯誤碼全集。定義BerkeleySockets錯誤碼是為了確保原有軟件的可移植性。A.1?WindowsSockets錯誤
2、碼列表????表A.1列出了WSAGetLastError()函數(shù)返回的可能錯誤碼和它們的解釋,它們可分為四個部分。????錯誤碼的第一部分是用來解決在不同的C編譯中對標準C錯誤碼的不一致的定義。錯誤碼的第二部分是標準BerkeleySockets錯誤碼的WindowsSockets版本。錯誤碼的第三部分包括特定WindowsSockets擴充的錯誤碼。錯誤碼的第四部分由WindowsSockets的getXbyY()和WSAAsyncGetXByY()函數(shù)返回,相當于Berkeley軟件中由變量h_errno返回的錯誤(事實上,WindowsS
3、ockets在頭文件winsock.h中已將h_error定義成其值為WSAGetLastError()的一個宏),它們相當于由域名服務(wù)(DomainNameService)返回的各種失敗。如果WindowsSockets實現(xiàn)沒有使用域名服務(wù),它將使用最合適的代碼。一般地,WindowsSockets應(yīng)用程序應(yīng)該將錯誤WSAHOST_NOT_FOUND和WSANO_DATA解釋為指示關(guān)鍵字(名字,地址等)沒有找著,而錯誤WSATRY_AGAIN和WSANO_RECOVERY是提醒名字服務(wù)自身是非操作的。????錯誤碼由WindowsSockets
4、規(guī)范定義,在所有同一版本規(guī)范的WindowsSockets兼容實現(xiàn)中,它們是一致的。?表A.1?WindowsSockets錯誤碼WindowsSockets錯誤碼Berkeley對應(yīng)錯誤碼錯誤號????????解????????????釋W(xué)SAEINTREINTR10004同標準CWSAEBADFEBADF10009同標準CWSAEACCESEACCES10013同標準CWSAEFAULTEFAULT10014同標準CWSAEINVALEINVAL10022同標準CWSAEMFILEEMFILE10024同標準CWSAEWOULDBLOCKEW
5、OULDBLOCK10035同BSDWSAEINPROGRESSEINPROGRESS10036當一個阻塞函數(shù)正在進行時,調(diào)用任何WindowsSocketsAPI函數(shù)均返回此錯誤WSAEALREADYEALREADY10037同BSDWSAENOTSOCKENOTSOCK10038同BSDWSAEDESTADDRREQEDESTADDRREQ10039同BSDWSAEMSGSIZEEMSGSIZE10040同BSDWSAEPROTOTYPEEPROTOTYPE10041同BSDWSAENOPROTOOPTENOPROTOOPT10042同BSD
6、WSAEPROTONOSUPPORTEPROTONOSUPPORT10043同BSDWSAESOCKTNOSUPPORTESOCKTNOSUPPORT10044同BSDWSAEOPNOTSUPPEOPNOTSUPP10045同BSDWSAEPFNOSUPPORTEPFNOSUPPORT10046同BSDWSAEAFNOSUPPORTEAFNOSUPPORT10047同BSDWSAEADDRINUSEEADDRINUSE10048同BSDWSAEADDRNOTAVAILEADDRNOTAVAIL10049同BSDWSAENETDOWNENETDOW
7、N10050同BSD。任何時候只要WindowsSockets實現(xiàn)檢測到網(wǎng)絡(luò)子系統(tǒng)失敗,它就報告此錯誤。WSAENETUNREACHENETUNREACH10051同BSDWSAENETRESETENETRESET10052同BSDWSAECONNABORTEDECONNABORTED10053同BSDWSAECONNRESETECONNRESET10054同BSDWSAENOBUFSENOBUFS10055同BSDWSAEISCONNEISCONN10056同BSDWSAENOTCONNENOTCONN10057同BSDWSAESHUTDOWN
8、ESHUTDOWN10058同BSDWSAETOOMANYREFSETOOMANYREFS10059同BSDWSAETIMEDOUTET