WSAETIMEDOUT 对应 linux 的 ETIMEDOUT

WSAETIMEDOUT 对应 linux 的 ETIMEDOUT

IdWinsock2.pas 文件中也有说明.

Windows Sockets错误代码

2010-08-03 17:23:29下面以表格的形式列出了WSAGetLastError()函数有可能返回的错误代码和对应的解释。错误代码的数值对于所有的Windows Sockets兼容实现都是一致的。

错误代码 Berkeley对应代码 错误数值 说明
WSAEINTR EINT 10004 函数调用中断。该错误表明由于对WSACancelBlockingCall的调用,造成了一次调用被强行中断。
WSAEBADF EBADF 10009 文件句柄错误。该错误表明提供的文件句柄无效。
WSAEACCES EACCES 10013 权限被拒。尝试进行操作,但被禁止。若试图在sendto或WSASendTo中使用一个广播地址,但是尚未用setsockopt和SO_BROADCAST这两个选项设置广播权限,便会产生这类错误。
WSAEFAULT EFAULT 10014 地址无效。传给Winsock函数的指针地址无效。若指定的缓冲区太小,也会产生这个错误。
WSAEINVAL EINVAL 10022 参数无效。指定了一个无效参数。例如,假如为WSAIoctl调用指定了一个无效控制代码,便会产生这个错误。另外,它也可能表明当前的状态有错,例如在一个目前没有监听的调用accept或WSAAccept。
WSAEMFILE BLOCK EMFILE BLOCK 10024 打开文件过多。提示打开的太多了。通常,Microsoft提供者只受到系统内可用资源数量的限制。
WSAEINPRO EINPRO 10036 资源暂时不可用。对锁定来说,如果请求操作不能立即执行的话,通常会返回这个错误。比如说,在一个暂停调用conn ect,就会返回这个错误。因为连接请求不能立即执行。
GRESS GRESS      操作正在进行中。当前正在执行锁定操作。一般来说不会出现这个错误,除非正在开

发1 6 位Wi n s o c k 应用程序。

WSAEALREADY EALREADY  10037 操作已完成。一般来说,在锁定尝试已处于进程中的操作时,会产生这个错误。比如,在一个已处于连接进程的锁定,再一次调用connect或WSAConnect。另外,服务提供者处于执行回调函数(针对支持回调例程的Winsock函数)的进程中时,也会出现这个错误。
WSAENOTSOCK ENOTSOCK 10038 无效操作。任何一个SOCKET句柄当作参数的Winsock函数都会返回这个错误。它表明提供的字句柄无效。

续表

错误代码 Berkeley对应代码 错误数值 说明
WSAEDESTADDR REQ EDESTADDR REQ 10039 需要目标地址。这个错误表明没有提供具体地址。比方说,假如在调用sendto时,将目标地址设为INADDR_ANY(任意地址),便会返回这个错误。
WSAEMSGSIZE EMSGSIZE 10040 消息过长。这个错误的含义很多。如果在一个数据报发送一条消息,这条消息对内部缓冲区而言太大的话,就会产生这个错误。再比如,由于网络本身的限制,使一条消息过长,也会产生这个错误。最后,如果收到数据报之后,缓冲区太小,不能接收消息时,也会产生这个错误。
WSAEPROTOTYPE EPROTOTYPE 10041 协议类型有误。在socket或WSASocket 调用中指定的协议不支持指定的类型。比如,要求建立SOCK_STREAM类型的一个IP,同时指定协议为IPPROTO_UDP,便会产生这样的错误。
WSAENOPROTO OPT ENOPROTOOPT 10042 协议选项错误。表明在getsockopt或setsockopt 调用中,指定的选项或级别不明、未获支持或者无效。
WSAEPROTONOUPPORT EPROTONO SUPPORT 10043 不支持的协议。系统中没有安装请求的协议或没有相应的实施方案。比如,如果系统中没有安装TCP/IP,而试着建立TCP或UDP时,就会产生这个错误。
WSAESOCKTNO SUPPORT ESOCKTNO SUPPORT 10044 不支持的类型。对指定的地址家族来说,没有相应的具体类型支持。比如,在向一个不支持原始的协议请求建立一个SOCK_RAW类型时,就会产生这个错误。
WSAEOPNOTSUPPORT EOPNOT SUPPORT 10045 不支持的操作。表明针对指定的对象,试图采取的操作未获支持。通常,如果试着在一个不支持调用Winsock函数的调用了Winsock时,就会产生这个错误。
WSAEPFNOSUPPORT EPFNO SUPPORT 10046 不支持的协议家族。请求的协议家族不存在,或系统内尚未安装。多数情况下,这个错误可与WSAEAFNOSUPPORT互换(两者等价);后者出现得更为频繁。
WSAEAFNOSUPPORT EAFNO SUPPORT 10047 地址家族不支持请求的操作。对类型不支持的操作来说,在试着执行它时,就会出现这个错误。比如,在类型为SOCK_STREAM的一个调用sendto或WSASendTo函数时,就会产生这个错误。另外,在调用socket或WSASocket函数的时候,若同时请求了一个无效的地址家族、类型及协议组合,也会产生这个错误。

续表

错误代码 Berkeley对应代码 错误数值 说明
WSAEADDRINUSE EADDRINUSE 10048 地址正在使用。正常情况下,每个只允许使用一个地址这个错误一般和bind、connect和WSAConnect这三个函数有关。可在setsockopt函数中设置选项SO_REUSEA D D R ,允许多个访问同一个本地I P 地址及端口号
WSAEADDRNOT AVAIL EADDRNOT AVAIL 10049 不能分配请求的地址。API调用中指定的地址对那个函数来说无效时,就会产生这样的错误。例如,若在bind调用中指定一个IP地址,但却没有对应的本地IP接口,便会产生这样的错误。另外,通过connect、WSAConnect、sendto、WSASendTo和WSAJoinLeaf这四个函数为准备连接的远程计算机指定端口0时,也会产生这样的错误。
WSAENETDOWN ENETDOWN 10050 网络断开。试图采取一项操作时,却发现网络连接中断。这可能是由于网络堆栈的错误,网络接口的故障,或者本地网络的问题造成的。
WSAENETUNREACH ENETUNREAC H 10051 网络不可抵达。试图采取一项操作时,却发现目标网络不可抵达(不可访问)。这意味着本地主机不知道如何抵达一个远程主机。换言之,目前没有已知的路由可抵达那个目标主机。
WSAENETRESET ENETRESET 10052 网络重设时断开了连接。由于“保持活动”操作检测到一个错误,造成网络连接的中断。若在一个已经无效的连接之,通过setsockopt函数设置SO_KEEPALIVE选项,也会出现这样的错误。
WSAECONNABORT ED ECONNABORTED 10053 软件造成连接取消。由于软件错误,造成一个已经建立的连接被取消。典型情况下,这意味着连接是由于协议或超时错误而被取消的。
WSAECONNRESET ECONNRESET   10054 连接被对方重设。一个已经建立的连接被远程主机强行关闭。若远程主机的进程异常中止运行(由于内存冲突或硬件故障),或者针对执行了一次强行关闭,便会产生这样的错误。针对强行关闭的情况,可用SO_LINGER选项和setsockopt来配置一个
WSAENOBUFS ENOBUFS 10055 没有缓冲区空间。由于系统缺少足够的缓冲区空间,请求的操作不能执行。
WSAEISCONN EISCONN 10056 已经连接。表明在一个已建立连接的,试图再建立一个连接。要注意的是,数据报和数据流均有可能出现这样的错误。使用数据报时,假如事先已通过connect或WSAConnect调用,为数据报通信关联了一个端点的地址,那么以后试图再次调用sendto或WSASendTo,便会产生这样的错误。
WSAENOTCONN ENOTCONN 10057 尚未连接。若在一个尚未建立连接的“面向连接”发出数据收发请求,便会产生这样的错误。

续表

错误代码 Berkeley对应代码 错误数值 说明
WSAESHUTDOWN ESHUTDOWN 10058 关闭后不能发送。表明已通过对shutdown的一次调用,部分关闭了,但后又请求进行数据的收发操作。要注意的是,这种错误只会在已经关闭的那个数据流动方向才会发生。举个例子来说,完成数据发送后,若调用shutdown,那么以后任何数据发送调用都会产生这样的错误。
WSAETIMEDOUT ETIMEDOUT 10060 连接超时。若发出了一个连接请求,但经过规定的时间,远程计算机仍未作出正确的响应(或根本没有任何响应),便会发生这样的错误。要想收到这样的错误,通常需要先在设置好SO_SNDTIMEO和SO_RCVTIMEO选项,然后调用connect及WSAConnect函数。
WSAECONNREFUS ED ECONNREFUSED 10061 连接被拒。由于被目标机器拒绝,连接无法建立。这通常是由于在远程机器,没有任何应用程序可在那个地址之,为连接提供服务。
WSAEHOSTDOWN EHOSTDOWN 10064 主机关闭。这个错误指出由于目标主机关闭,造成操作失败。然而,应用程序此时更有可能收到的是一条WSAETIMEDOUT(连接超时)错误,因为对方关机的情况通常是在试图建立一个连接的时候发生的。
WSAEHOSTUNREA CH EHOSTUNREACH 10065 没有到主机的路由。应用程序试图访问一个不可抵达的主机。该错误类似于WSAENETUNREACH。
WSASYSNOTREA Y   10091 网络子系统不可用。调用WSAStartup时,若提供者不能正常工作(由于提供服务的基层系统不可用),便会返回这种错误。
WSAVERNOTSUPP ORTED   10092 Winsock. dll版本有误。表明不支持请求的Winsock提供者版本。
WSANOTINITIAL ISED   10093 Winsock尚未初始化。尚未成功完成对WSAStartup的一次调用。
值对于所有的Windows Sockets兼容实现都是一致的。

Windows Sockets

代码

 Berkele

y对应代码

 错误数值  解释
 WSAEINTR  EINTR  10004  与标准C一致
 WSAEBADF  EBADF  10009  与标准C一致
 WSAEACCES  EACCES  10013  与标准C一致
 WSAEFAULT  EFAULT  10014  与标准C一致
 WSAEINVAL  EINVAL  10022  与标准C一致
 WSAEMFILE  EMFILE  10024  与标准C一致
 WSAEWOULD BLOCK  EWOULD BLOCK  10035  与BSD一致
 WSAEINPRO GRESS  EINPRO GRESS  10036  当应用程序调用Windows Sockets API函数时,如果一个阻塞函数正在运行,将返回该错误。
 WSAEALREADY  EALREADY  10037  与BSD一致
 WSAENOTSOCK  ENOTSOCK  10038  与BSD一致
 WSAEDESTADDR REQ  EDESTADDR REQ  10039  与BSD一致
 WSAEMSGSIZE  EMSGSIZE  10040  与BSD一致
 WSAEPROTOTYPE  EPROTOTYPE  10041  与BSD一致
 WSAENOPROTO OPT  ENOPROTOOPT  10042  与BSD一致
 WSAEPROTONO SUPPORT  EPROTONO SUPPORT  10043  与BSD一致
 WSAESOCKTNO SUPPORT  ESOCKTNO SUPPORT  10044  与BSD一致
 WSAEOPNOT SUPPORT  EOPNOT SUPPORT  10045  与BSD一致
 WSAEPFNO SUPPORT  EPFNO SUPPORT  10046  与BSD一致
 WSAEAFNO SUPPORT  EAFNO SUPPORT  10047  与BSD一致
 WSAEADDRINUSE  EADDRINUSE  10048  与BSD一致
 WSAEADDRNOT AVAIL  EADDRNOT AVAIL  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一致
 WSASYSNOTREAD    10091  由WSAStartup()函数返回,表明底层的网络子系统无法使用。
 WSAVERNOTSUPPORTED    10092  由WSAStartup()函数返回,表明Windows Sockets DLL不支持这一应用。
 WSANOTINITIALISED    10093  由除了WSAStartup()的其他函数返回,表明没有对WSAStartup()函数的成功调用。
 WSAHOST_NOT_FOUND  HOST_NOT_FOUND  11001  与BSD一致
 WSATRY_AGAIN  TRY_AGAIN  11001  与BSD一致
 WSANO_RECOVERY  NO_RECOVERY  11003  与BSD一致
 WSANO_DATA  NO_DATA  11004  与BSD一致

本文参考来源:

1,http://blog.163.com/aragorn_1024/blog/static/12606592720107352329908/

2,http://www.cnblogs.com/-clq/archive/2012/06/14/2549195.html

Windows Sockets错误标识及对应解释相关推荐

  1. Unrecognized Windows Sockets error: 10106错误解决方法

    tomcat启动时若出现 Unrecognized Windows Sockets error: 10106 错误时, 可以使用以下方法解决: 以管理员身份打开命令提示符输入 netsh winsoc ...

  2. 关于Unrecognized Windows Sockets error: 5: socket write error 错误

    最近有个需求是从A数据库读取数据导入到B数据库,demo的数据量也就几万条,但是遇到了一个非常罕见的问题.后端框架是mybatis-plus,spring boot,在insertBatch到数据库B ...

  3. Windows Sockets 规范及应用

    Windows Sockets 规范及应用 -Windows网络编程接口 施 炜    李 铮    秦 颍         编著 ********************************** ...

  4. Windows Sockets 错误码及出错原因

    From: http://blog.csdn.net/mjay1234/article/details/7684316 Windows Sockets在头文件winsock.h中定义了所有的错误码,它 ...

  5. 【Tomcat】Unrecognized Windows Sockets error: 10106: Socket creation failed

    tomcat8启动过程中报如下错误30-Nov-2017 22:45:52.892 严重 [main] org.apache.catalina.core.StandardServer.await St ...

  6. 如何解决Windows Update错误80070003

    Windows 7有时更新时出现Windows Update错误80070003,这应该怎样解决呢?这时需要删除Windows 用于标识计算机更新的临时文件. 要删除Windows 用于标识计算机更新 ...

  7. java recv failed,jmeter压测报错Unrecognized Windows Sockets error: 0: recv failed

    问题描述 jmeter并发数500,ramp-up=0报错: 错误1 java.net.SocketException: Unrecognized Windows Sockets error: 0: ...

  8. TCP: too many of orphaned sockets错误

    问题:tcp_mem 在服务端,连接达到一定数量,诸如50W时,有些隐藏很深的问题,就不断的抛出来. 通过查看dmesg命令查看,发现大量TCP: too many of orphaned socke ...

  9. Windows Update错误80070003解决方法

    Windows 7有时检查更新时收到Windows Update错误80070003,这时该怎么解决呢?这时需要删除Windows 用于标识计算机更新的临时文件. 1. 需要先停止Windows Up ...

最新文章

  1. windows7下载python教程-Windows 7下Python Web环境搭建图文教程
  2. 云端飘 String s=new String(abc)创建了几个对象?
  3. 深度学习~图神经网络GNN
  4. c语言 office 二级成绩查询,【2019年9月辽宁计算机二级考试成绩查询入口】- 环球网校...
  5. 开源 非开源_在开源中吃我们自己的狗粮
  6. 钱准备好!苹果官方账号泄密:iPhone 12明晚发布有戏
  7. css的animation动画
  8. 向架构师进军--定义需求
  9. matlab基本使用指南
  10. UDF函数,hive调用java包简单方法
  11. hdu--2660--二维费用背包
  12. axure rp编辑html模板,AxureRP教程—用模板封装UI标准
  13. 淘宝上卖云控系统靠谱吗?
  14. java lang arithmetic_java.lang.ArithmeticException: Division undefined
  15. pandas实践——美国人口分析
  16. 【免费开放源码】审批类小程序项目实战(活动历史页面)
  17. 12月20日的贷款结息
  18. Java出现问题: The public type **** must be defined in its own file
  19. python web开发-Python Web开发从入门到精通
  20. jqweui轮播图点击图片放大缩小

热门文章

  1. 谋定新型农业主体-农业大健康·万祥军:农业高质量发展规划
  2. checkVector()
  3. .NET Framework 各版本区别
  4. 接口与继承 课后实践
  5. 【引用】phpmyadmin提示Access denied for user 'root'@'localhost' (using password: NO)的解决办法...
  6. ZOJ 3633 rmq 重点在于转化
  7. (转,改)UML中的几种关系
  8. ConditionedActivityGroup
  9. 小程序离成功还差一个版本
  10. 内含下载 | Pokemon GO:20年前的IP为什么还能引爆朋友圈?