Rumah  >  Artikel  >  pembangunan bahagian belakang  >  常见的socket error错误总结

常见的socket error错误总结

伊谢尔伦
伊谢尔伦asal
2017-05-24 11:34:0020249semak imbas

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。

其代码如下:

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);
}


【相关教程推荐】

1. 《php.cn独孤九贱(4)-php视频教程

2.   php编程从入门到精通全套教程

Atas ialah kandungan terperinci 常见的socket error错误总结. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn