!"#),4228)")5*;+,F&
存在的连接被远程主机强制关闭。通常原因为:远程主机上对等方应用程序突然停止运行
或 远 程 主 机 重 新 启 动 , 或 远 程 主 机 在 远 程 方 套 接 字 上 使 用 了 “ 强 制 ” 关 闭 ( 参 见
*"4/(92')8+)。另外,在一个或多个操作正在进行时,如果连接因“H$活
动 检 测 到一 个 失 败 而中 断, 也 可 能导 致 此 错误 。 此 时, 正 在 进 行的 操 作 以错 误 码
!"#)2)58)")5 失败返回,后续操作将失败返回错误码 !"#),4228)")5。
!"#)0)"5#0088)@*<+0FFEB
在套接字上一个操作所必须的地址被遗漏。例如,如果 *+函数被调用且远程地址为
#008/#2. 时,此错误被返回。
!"#)6#7(5*;+%
系统检测到调用试图使用的一个指针参数指向的是一个非法指针地址。如果应用程序传递
一个非法的指针值,或缓冲区长度太小,此错误发生。例如,参数为结构 ,但参
数的长度小于 ID*B+。
!"#)34"504!2*;+3
套接字操作因为目的主机关闭而失败返回。套接字操作遇到不活动主机。本地主机上的网
络活动没有初始化。这些条件由错误码 !"#)59=)0475 指示似乎更合适。
!"#)34"5728)#,3*+2B
试图和一个不可达主机进行套接字操作。参见 !"#)2)5728)#,3。
!"#)92?84'8)""*+4F
一个阻塞操作正在执行。!" 只允许一个任务(或线程)在同一时间可以有一
个未完成的阻塞操作,如果此时调用了任何函数(不管此函数是否引用了该套接字或任何
其它套接字),此函数将以错误码 !"#)92?84'8)"" 返回。
!"#)9258*;+9BDBF
阻塞操作被函数 !"#,%,*+调用所中断。
!"#)92:#(*+9B1
提供了非法参数(例如,在使用 *+函数时指定了非法的 )。在一些实例中,
它也可能与套接字的当前状态相关,例如,在套接字没有使用 *+使其处于监听时调用
*+函数。
!"#)9",422*+"&
连接请求发生在已经连接的套接字上。一些实现对于在已连接 "4,>/0'8#= 套接字上使用
*+函数的情况也返回此错误(对于 "4,>/"58)#= 套接字,*+函数的 参数被
忽略),尽管其它一些实现将此操作视为合法事件。
!"#)=69()*;+51&J
打开了太多的套接字。不管是对整个系统还是每一进程或线程,!" 实现都可
能有一个最大可用的套接字句柄数。