ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Windows Sockets错误码

Windows Sockets错误码

原创 Linux操作系统 作者:youhello 时间:2007-12-14 16:29:08 0 删除 编辑
Windows Sockets在头文件winsock.h中定义了所有的错误码,它们包括以“WSA”打头的Windows Sockets实现返回的错误码和Berkeley Sockets定义的错误码全集。定义Berkeley Sockets错误码是为了确保原有软件的可移植性。[@more@]Windows Sockets错误码列表

表A.1列出了WSAGetLastError()函数返回的可能错误码和它们的解释,它们可分为四个部分。

错误码的第一部分是用来解决在不同的C编译中对标准C错误码的不一致的定义。错误码的第二部分是标准Berkeley Sockets错误码的Windows Sockets版本。错误码的第三部分包括特定Windows Sockets扩充的错误码。错误码的第四部分由Windows Sockets的getXbyY()和WSAAsyncGetXByY()函数返回, Berkeley软件中由变量h_errno返回的错误(事实上,Windows Sockets在头文件winsock.h中已将h_error定义成其值为WSAGetLastError()的一个宏),它们相当于由域名服务(Domain Name Service)返回的各种失败。如果Windows Sockets实现没有使用域名服务,它将使用最合适的代码。一般地,Windows Sockets应用程序应该将错误WSAHOST_NOT_FOUND和WSANO_DATA解释为指示关键字(名字,地址等)没有找着,而错误WSATRY_AGAIN和WSANO_RECOVERY是提醒名字服务自身是非操作的。

错误码由Windows Sockets 规范定义,在所有同一版本规范的Windows Sockets兼容实现中,它们是一致的。

表A.1 Windows Sockets错误码

Windows Sockets错误码

Berkeley 对应错误码

错误号

解 释

WSAEINTR

EINTR

10004

同标准C

WSAEBADF

EBADF

10009

同标准C

WSAEACCES

EACCES

10013

同标准C

WSAEFAULT

EFAULT

10014

同标准C

WSAEINVAL

EINVAL

10022

同标准C

WSAEMFILE

EMFILE

10024

同标准C

WSAEWOULDBLOCK

EWOULDBLOCK

10035

同BSD

WSAEINPROGRESS

EINPROGRESS

10036

当一个阻塞函数正在进行时,调用任何Windows Sockets API函数均返回此错误

WSAEALREADY

EALREADY

10037

同BSD

WSAENOTSOCK

ENOTSOCK

10038

同BSD

WSAEDESTADDRREQ

EDESTADDRREQ

10039

同BSD

WSAEMSGSIZE

EMSGSIZE

10040

同BSD

WSAEPROTOTYPE

EPROTOTYPE

10041

同BSD

WSAENOPROTOOPT

ENOPROTOOPT

10042

同BSD

WSAEPROTONOSUPPORT

EPROTONOSUPPORT

10043

同BSD

WSAESOCKTNOSUPPORT

ESOCKTNOSUPPORT

10044

同BSD

WSAEOPNOTSUPP

EOPNOTSUPP

10045

同BSD

WSAEPFNOSUPPORT

EPFNOSUPPORT

10046

同BSD

WSAEAFNOSUPPORT

EAFNOSUPPORT

10047

同BSD

WSAEADDRINUSE

EADDRINUSE

10048

同BSD

WSAEADDRNOTAVAIL

EADDRNOTAVAIL

10049

同BSD

WSAEnetDOWN

ENETDOWN

10050

同BSD。任何时候只要Windows Sockets实现检测到网络子系统失败,它就报告此错误。

WSAENETUNREACH

ENETUNREACH

10051

同BSD

WSAENETRESET

ENETRESET

10052

同BSD

WSAECONNABORTED

ECONNABORTED

10053

同BSD

WSAECONNRESET

ECONNRESET

10054

同BSD

WSAENOBUFS

ENOBUFS

10055

同BSD

WSAEISCONN

EISCONN

10056

同BSD

WSAENOTCONN

ENOTCONN

10057

同BSD

WSAESHUTDOWN

ESHUTDOWN

10058

同BSD

WSAETOOMANYREFS

ETOOMANYREFS

10059

同BSD

WSAETIMEDOUT

ETIMEDOUT

10060

同BSD

WSAECONNREFUSED

ECONNREFUSED

10061

同BSD

WSAELOOP

ELOOP

10062

同BSD

WSAENAMETOOLONG

ENAMETOOLONG

10063

同BSD

WSAEHOSTDOWN

EHOSTDOWN

10064

同BSD

WSAEHOSTUNREACH

EHOSTUNREACH

10065

同BSD

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/79126/viewspace-993563/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论