2024年3月11日发(作者:)
windows sockets在头文件winsock.h中定义了所有的错误码,它们包括以“ws
a”打头的windows sockets实现返回的错误码和berkeley sockets定义的错误
码全集。定义berkeley sockets错误码是为了确保原有软件的可移植性。
a.1 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
wsaeafnosupport
wsaeaddrinuse
wsaeaddrnotavail
wsaenetdown
epfnosupport
eafnosupport
eaddrinuse
eaddrnotavail
enetdown
10046
10047
10048
10049
10050
wsaenetunreach
wsaenetreset
wsaeconnaborted
wsaeconnreset
wsaenobufs
wsaeisconn
wsaenotconn
wsaeshutdown
wsaetoomanyrefs
wsaetimedout
wsaeconnrefused
wsaeloop
wsaenametoolong
wsaehostdown
wsaehostunreach
wsasysnotready
enetunreach
enetreset
econnaborted
econnreset
enobufs
eisconn
enotconn
eshutdown
etoomanyrefs
etimedout
econnrefused
eloop
enametoolong
ehostdown
ehostunreach
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10091
10092 wsavernotsupported
wsanotinitialised 10093
wsaediscon 10101
wsahost_not_found host_not_found 11001
wsatry_again try_again 11002
wsano_recovery no_recovery 11003
wsano_data no_data 11004
a.2 windows sockets错误码扩展描述
同bsd
同bsd
同bsd
同bsd
同bsd。任何时候只要windows
sockets实现检测到网络子系统
失败,它就报告此错误。
同bsd
同bsd
同bsd
同bsd
同bsd
同bsd
同bsd
同bsd
同bsd
同bsd
同bsd
同bsd
同bsd
同bsd
同bsd
由wsastartup() 返回,指示网
络子系统无法使用。
由wsastartup() 返回,指示
windows sockets
dll 不能支持此应用程序。
由除wsastartup()之外的其它
函数返回,指示 尚没有一次成
功的wsastartup() 调用执行
过。
由wsarecv()和wsarecvfrom()
返回,指示远程方已经初始化了
一个“雅致”的shutdown序列。
同bsd
同bsd
同bsd
同bsd
发布评论