1. 程式人生 > >轉載:TCP/IP 某些最常見的錯誤原因碼 (errno)列表(轉)

轉載:TCP/IP 某些最常見的錯誤原因碼 (errno)列表(轉)

來自 http://www.cnblogs.com/qq78292959/archive/2013/04/22/3036103.html

對於在基於 UNIX 的環境中的 TCP/IP 使用者,下表列出了某些最常見的錯誤原因碼 (errno)。它不是完整的錯誤列表。可以在檔案 /usr/include/sys/errno.h 中找到 Errno。針對每一種作業系統給出了errno 號碼。

基於 UNIX 的 TCP/IP errno
Errno
Errno號碼
AIX HP-UX Solaris UnixWare Linux
說明
EINTR 4 4 4 4 4 系統呼叫中斷。
EAGAIN 11 11 11 11 11 資源臨時不可用。
EBUSY 16 16 16 16 16 資源正忙。
EMFILE 24 24 24 24 24 每個程序檔案描述符表已滿。
EPIPE 32 32 32 32 32 管道斷開。
EADDRINUSE 67 226 125 125 98 已經在使用指定的地址。
ENETDOWN 69 228 127 127 100 網路已停止。
ENETUNREACH 70 229 128 128 101 沒有到達網路的可用路由。
ENETRESET 71 230 129 129 102 重設時網路已卸下了連線。
ECONNRESET 73 232 131 131 104 夥伴已重設了連線。
ENOBUFS 74 233 132 132 105 系統中沒有足夠的緩衝區空間資源可用來完成呼叫。
ENOTCONN 76 235 134 134 107 未連線套接字。
ETIMEDOUT 78 238 145 145 110 連線超時。
ECONNREFUSED 79 239 146 146 111 連線已被拒絕。若您正在嘗試與資料庫相連,則檢查是否已成功啟動了伺服器上的資料庫管理程式和 TCP/IP 協議支援。 若使用 SOCKS 協議支援,則還要確保在 SOCKS 伺服器上已成功啟動了 TCP/IP 協議支援。
EHOSTDOWN 80 241 147 147 147 主機已停機。
EHOSTUNREACH 81 242 148 148 113 沒有到達主機的可用路由。

對於 OS/2 環境中的 TCP/IP 使用者,下面的列表顯示了最常見的 errno。它不是完整的錯誤列表。可以在檔案 nerrno.h 中找到 Errno。此檔案是 TCP/IP 產品包含檔案的一部分。若尚未安裝這些檔案,則在您的系統上可能不會出現。errno 號碼本身是用括號括起來的。

SOCEINTR (10003):系統呼叫被中斷。
SOCEMFILE (10024):開啟的檔案太多。
SOCEPIPE (10032):管道被斷開。
EADDRINUSE (10048):已經在使用指定的地址。
ENETDOWN (10050):網路已停止。
ENETUNREACH (10051):沒有到達網路的可用路由。
ENETRESET (10052):重設時網路已卸下了連線。
SOCECONNABORTED (10053):軟體導致連線異常中止。
ECONNRESET (10054):夥伴已重設了連線。
ENOBUFS (10055):無緩衝區空間可用。
ENOTCONN (10057):未連線套接字。
ETIMEDOUT (10060): 在進行連線之前,建立連線超時。
ECONNREFUSED (10061):連線已被拒絕。若您正在嘗試與資料庫相連,則檢查是否已成功啟動了伺服器上的資料庫管理程式和 TCP/IP 協議支援。
若使用 SOCKS 協議支援,則還要確保在 SOCKS 伺服器上已成功啟動了 TCP/IP 協議支援。
EHOSTDOWN (10064):主機已停機。
EHOSTUNREACH (10065):沒有到達主機的可用路由。
SOCEOS2ERR (10100):OS/2 錯誤。
有關 OS/2 TCP/IP 通訊錯誤的詳情,參考 OS/2 TCP/IP 文件。

對於 Windows 95、Windows 98 或 Windows NT 下的 TCP/IP 或 IPX/SPX 使用者,下面的列表顯示了最常見的錯誤碼。它不是完整的錯誤列表。可以在檔案 winsock.h 中找到由 WSAGetLastError() 返回的錯誤。

WSAEINVAL (10022):若在函式 WSASTARTUP 上接收到此錯誤,則此 DLL 不支援應用程式所支援的 Windows Sockets 版本。
WSAEMFILE (10024):沒有可用的檔案描述符。
WSAEWOULDBLOCK (10035):套接字標記為未分塊,而操作將分塊。
WSAEINPROGRESS (10036):正在進行分塊 Windows Sockets 操作。
WSAENOPROTOOPT (10042):該選項是未知的或不受支援的。
WSAEADDRINUSE (10048):已經在使用指定的地址。
WSAENETDOWN (10050):網路子系統已失敗。
WSAENETUNREACH (10051):此時不能從此主機到達網路。
WSAENETRESET (10052):由於重設了遠端主機,所以連線已斷開。
WSAECONNABORTED (10053):由於超時或其他故障,導致虛擬電路異常中止。重設時網路已卸下了連線。
WSAECONNRESET (10054):夥伴已重設了連線。
WSAENOBUFS (10055):無緩衝區空間可用,連線太多。
WSAENOTCONN (10057):未連線套接字。
WSAETIMEDOUT (10060):在進行連線之前,建立連線超時。
WSAECONNREFUSED (10061):連線已被拒絕。若您正在嘗試與資料庫相連,則檢查在伺服器上是否已成功啟動了資料庫管理程式和 TCP/IP 協議支援。
WSAEHOSTUNREACH (10065):此時不能從此主機到達網路。
WSASYSNOTREADY (10091):基礎網路子系統未準備好進行網路通訊。
WSAVERNOTSUPPORTED (10092):此特定的 Windows Sockets 實現未提供請求的 Windows Sockets API 支援的版本。
WSAHOST_NOT_FOUND (11001):找不到主機。
WSATRY_AGAIN (11002):找不到主機。請求從名稱伺服器中檢索主機名的 IP 地址失敗。
WSANO_DATA (11004):名稱無效,沒有請求的型別的資料記錄。名稱伺服器或 hosts 檔案不識別主機名,或者在 services 檔案中未指定服務名。
有關 Windows 下的 TCP/IP 通訊錯誤的詳情,參考 Windows Sockets 文件。