您现在的位置: 365建站网 > 365学习 > socket error 10061/11004/10053/10051等错误总结

socket error 10061/11004/10053/10051等错误总结

文章来源:365jz.com     点击数:1209    更新时间:2018-11-03 16:40   参与评论

Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。前面的章节中介绍了Socket的定义,实例,与http的区别,通信,长连接等等技术知识,这里我们来谈谈使用Socket会经常遇到的一些连接错误。


常见的Socket错误如下:

1、出现网络联机错误Socket error #11001

表示您的计算机无法连上服务器,请检查您的Proxy设定以及Proxy相关账号,或暂时取消您防毒软件的「个人防火墙」。

2、出现网络联机错误Socket error #11004

应该是网络联机状态问题,请用户检查网络联机是否正常。

3、出现网络联机错误Socket error #10060 Connection Timed Out

表示您与服务器发生联机逾时错误,请检查您的Proxy相关设定,以及Proxy Server是否已将SSL 443 port打开。

4、出现网络联机错误Socket error #10061

表示服务器忙碌中无法与您建立联机,请稍后再试。

5、出现网络联机错误Socket error #10022

请您上网更新Windows操作系统组件。Windows NT version 4.0的用户请下载安装Service Pack 5(含)以上。

6、出现Internal Server Error

主机忙碌中,请您稍后再试。

7、上传时出现Socket error #10022 Invalid argument.

请上网更新Windows操作系统组件(windows update)。Windows NT version 4.0的用户请下载安装Service Pack 5(含)以上。

8、上传时出现socket error #10054 Connection reset by peer

原因为连接被防火樯或proxy中断"或因为您有安装ip分享器请将ip分享器先拿掉,直接将计算机接adsl的线路后重新上传。

9、上传时出现socket error #10057 Connection reset by peer

是windows的系统文件,与文件传输又关系. 所以你删除了,不能提交命令,网页不能下载,就不能上网


EPIPE和ECONNRESET区别

EPIPE和ECONNRESET是网络编程实践中很常见的错误。二者都是出现send调用出错的时候,可它们有什么区别呢? 简而言之,二者的区别是本端的socket是否收到过对方socket发出的FIN。

其代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

static void tcp_reset(struct sock *sk)

{

  switch (sk->sk_state) {

case TCP_SYN_SENT:

  sk->sk_err = ECONNREFUSED;

                break;

        case TCP_CLOSE_WAIT:

                sk->sk_err = EPIPE;

                break;

        case TCP_CLOSE:

                return;

        default:

                sk->sk_err = ECONNRESET;

        }

   

        smp_wmb();

        if (!sock_flag(sk, SOCK_DEAD))

          sk->sk_error_report(sk);

        tcp_done(sk);

}


总结:

Socket的错误码和描述

Socket error 0 - Directly send error
Socket error 10004 - Interrupted function //call 操作被终止
Socket error 10013 - Permission denied //c访问被拒绝
Socket error 10014 - Bad address //c地址错误
Socket error 10022 - Invalid argument //参数错误
Socket error 10024 - Too many open files // 打开太多的sockets
Socket error 10035 - Resource temporarily unavailable // 没有可以获取的资料
Socket error 10036 - Operation now in progress // 一个阻塞操作正在进行中
Socket error 10037 - Operation already in progress // 操作正在进行中
Socket error 10038 - Socket operation on non-socket //非法的socket对象在操作
Socket error 10039 - Destination address required //目标地址错误
Socket error 10040 - Message too long //数据太长
Socket error 10041 - Protocol wrong type for socket //协议类型错误
Socket error 10042 - Bad protocol option // 错误的协议选项
Socket error 10043 - Protocol not supported //协议不被支持
Socket error 10044 - Socket type not supported //socket类型不支持
Socket error 10045 - Operation not supported //不支持该操作
Socket error 10046 - Protocol family not supported //协议族不支持
Socket error 10047 - Address family not supported by protocol family//使用的地址族不在支持之列
Socket error 10048 - Address already in use //地址已经被使用
Socket error 10049 - Cannot assign requested address //地址设置失败
Socket error 10050 - Network is down //网络关闭
Socket error 10051 - Network is unreachable //网络不可达
Socket error 10052 - Network dropped connection on reset //网络被重置
Socket error 10053 - Software caused connection abort //软件导致连接退出
Socket error 10054 - connection reset by peer //连接被重置
Socket error 10055 - No buffer space available //缓冲区不足
Socket error 10056 - Socket is already connected // socket已经连接
Socket error 10057 - Socket is not connected //socket没有连接
Socket error 10058 - Cannot send after socket shutdown //socket已经关闭
Socket error 10060 - Connection timed out //超时
Socket error 10061 - Connection refused //连接被拒绝
Socket error 10064 - Host is down //主机已关闭
Socket error 10065 - No route to host // 没有可达的路由
Socket error 10067 - Too many processes //进程太多
Socket error 10091 - Network subsystem is unavailable //网络子系统不可用
Socket error 10092 - WINSOCK.DLL version out of range //winsock.dll版本超出范围
Socket error 10093 - Successful WSAStartup not yet performed //没有成功执行WSAStartup
Socket error 10094 - Graceful shutdown in progress //
Socket error 11001 - Host not found //主机没有找到
Socket error 11002 - Non-authoritative host not found // 非授权的主机没有找到
Socket error 11003 - This is a non-recoverable error //这是个无法恢复的错误
Socket error 11004 - Valid name, no data record of requested type //请求的类型的名字或数据错误

WSAEADDRINUSE (10048) Address already in use
WSAECONNABORTED (10053) Software caused connection abort
WSAECONNREFUSED (10061) Connection refused
WSAECONNRESET (10054) Connection reset by peer
WSAEDESTADDRREQ (10039) Destination address required
WSAEHOSTUNREACH (10065) No route to host
WSAEMFILE (10024) Too many open files
WSAENETDOWN (10050) Network is down
WSAENETRESET (10052) Network dropped connection
WSAENOBUFS (10055) No buffer space available
WSAENETUNREACH (10051) Network is unreachable
WSAETIMEDOUT (10060) Connection timed out
WSAHOST_NOT_FOUND (11001) Host not found
WSASYSNOTREADY (10091) Network sub-system is unavailable
WSANOTINITIALISED (10093) WSAStartup() not performed
WSANO_DATA (11004) Valid name, no data of that type
WSANO_RECOVERY (11003) Non-recoverable query error
WSATRY_AGAIN (11002) Non-authoritative host found
WSAVERNOTSUPPORTED (10092) Wrong WinSock DLL version


如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (1209人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------