网站大量收购独家精品文档,联系QQ:2885784924

socket错误码.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
socket错误码

Sockets/Windows Sockets 错误码 Windows Sockets 在头文件 winsock.h 中定义了所有的错误码,它们包括以“WSA”打头的 Windows Sockets 实现返回的错误码和Berkeley Sockets 定义的错误码全集。定义Berkeley Sockets 错误码是为了确保原有软件的可移植性。 WSAEACCES (10013) Permission denied . 试图使用被禁止的访问权限去访问套接字。例如,在没有使用函数 setsockopt()的 SO_BROADCAST 命令设置广播权限的套接字上使用函数 sendto()给一个广播地址发送数据。 WSAEADDRINUSE (10048) Address already in use . 正常情况下每一个套接字地址(协议/IP 地址/端口号)只允许使用一次。当应用程序试图 使用bind() 函数将一个被已存在的或没有完全关闭的或正在关闭的套接字使用了的IP 地址/ 端口号绑扎到一个新套接字上时,该错误发生。对于服务器应用程序来说,如果需要使用 bind() 函数将多个套接字绑扎到同一个端口上,可以考虑使用setsockopt()函数的 SO_REUSEADDR 命令。客户应用程序一般不必使用bind() 函数——connect()函数总是自动 选择没有使用的端口号。当bind() 函数操作的是通配地址(包括ADDR_ANY )时,错误 WSAEADDRINUSE 可能延迟到一个明确的地址被提交时才发生。这可能在后续的函数如 connect()、listen()、WSAConnect()或WSAJoinLeaf()调用时发生。 WSAEADDRNOTAVAIL (10049) Cannot assign requested address. 被请求的地址在它的环境中是不合法的。通常地在bind() 函数试图将一个本地机器不合法的 地址绑扎到套接字时产生。它也可能在 connect()、sendto()、WSAConnect() 、WSAJoinLeaf() 或WSASendTo() 函数调用时因远程机器的远程地址或端口号非法(如0 地址或 0 端口号)而 产生。 WSAEAFNOSUPPORT (10047) Address family not supported by protocol family . 使用的地址与被请求的协议不兼容。所有的套接字在创建时都与一个地址族(如 IP 协议对 应的 AF_INET )和一个通用的协议类型(如SOCK_STREAM )联系起来。如果在socket()调 用中明确地要求一个不正确的协议,或在调用 sendto()等函数时使用了对套接字来说是错误 的地址族的地址,该错误返回。 WSAEALREADY (10037) Operation already in progress. 当在非阻塞套接字上已经有一个操作正在进行时,又有一个操作试图在其上执行则产生此错 误。如:在一个正在进行连接的非阻塞套接字上第二次调用 connect()函数;或取消一个已经 被取消或已完成的异步请求(WSAAsyncGetXbyY())。 WSAECONNABORTED (10053) Software caused connection abort. 一个已建立的连接被你的主机上的软件终止,可能是因为一次数据传输超时或是协议错误。 WSAECONNREFUSED (10061) Connection refused. 因为目标主机主动拒绝,连接不能建立。这通常是因为试图连接到一个远程主机上不活动的 服务,如没有服务器应用程序处于执行状态。 WSAECONNRESET (10054) Connection reset by peer. 存在的连接被远程主机强制关闭。通常原因为:远程主机上对等方应用程序突然停止运行, 或远程主机重新启动,或远程主机在远程方套接字上使用了“强制”关闭(参见 setsockopt (SO_LINGER))。另外,在一个或多个操作

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档