本文共 3056 字,大约阅读时间需要 10 分钟。
对于在基于 UNIX 的环境中的 TCP/IP 用户,下表列出了某些最常见的错误原因码 (errno)。它不是完整的错误列表。可以在文件 /usr/include/sys/errno.h 中找到 Errno。针对每一种操作系统给出了errno 号码。
基于 UNIX 的 TCP/IP errnoErrno Errno号码AIXHP-UXSolarisUnixWareLinux说明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 文档。 |
本文转自 杰思 51CTO博客,原文链接:http://blog.51cto.com/12700807/1918292
转载地址:http://lhnlx.baihongyu.com/