`

转载[Connection reset,Connection reset by peer,Software caused connection abort :]

    博客分类:
  • JAVA
阅读更多

 

Connection reset,Connection reset by peer,Software caused connection abort :socket write error

 

 

java.net.SocketException:Connection reset by peer: socket write error

java.net.SocketException:Connection reset 

java.net.SocketException:Software caused connection abort :socket write error

 

java.net.SocketException: Software caused connection abort: recv failed

 

Please tell me when reading from a socket connection how an IOExcption with "Connection reset " message can occur. 

I am basically connecting to a Windows server program . 

Now I am using this exception for detecting invalid user login 

So i want know that what are the other ways this exception can occur ,

 

please help me . 

thanks and regards

haix

 

http://forum.java.sun.com/thread.jspa?threadID=560591&messageID=2755358

 

http://forum.java.sun.com/thread.jspa?threadID=430179&messageID=4429682

 

http://forum.java.sun.com/thread.jspa?threadID=609696&messageID=3341613

 

小弟我用java实现了一个联通SGIP发送,接收短信的程序。 

不过在接收过程中,由于联通发送完deliver命令后要间隔16秒才发送unbind命令,此时作为服务器端的我的程序抛出 

java.net.socketexception connection reset错误! 

因为我在接收数据的时候inputstread.read(bytes[])是一个阻塞函数,如果没有接收到输入流就会阻塞住不动,但是错误的信息应该是socket已经断开。所以让我很奇怪,搞了一周也没有解决这个问题,请大伙帮忙啊!

 

http://topic.csdn.net/u/20080319/10/0285f5b9-5035-4022-8c3a-5ddc18637777.html

 

Connection reset by peer 

web 程序的服务器段,在链接数据库的时候被同一个“对等点”重置了。对等点重置的意思其实就是被同一个权限相同的管理员或者是程序给强制占用了权限,好像目前 连接被断了一样,实际上这个时候连接并没有断开,是被“重置”了。就是能找到连接,但程序之间比较笨,自己找不到失去的那个连接了。 

“连接被对等点(peer)重置”,这时,只要把防火墙关闭就好了。就是说暂时找不到那个以前的连接了,也许断了,也许没有断,但就是找不到。

 

10053 您的主机中的软件放弃了一个已建立的连接。 

////////////////////////////////////////////// 

一个以建立的连接被用户的主机上的软件终止,可能是因为一次数据    

传输超时或者是协议错误。还有就是不要再连接事件中发送消息

 

总结一下: 

1.你的socket队列中没有空间了 

2.receiver never acknowledges data sent on a datastream socket(接受者不承认在数据流接口上发送的数据)

3.A connection will timeout if the local system doesn't receive an (ACK)nowledgement for data sent

 

Connection reset by peer 

抛出的异常也有可能是客户端中断连接。 当客户端中断连接的时候服务器也会抛出这个异常出来。

 

就是说客户端正在连接的时候 突然终止 了连接,这样,服务器端会抛出Connection reset by peer 异常出来

 

http://topic.csdn.net/u/20080402/16/7fe0a9c2-cef5-4756-8c45-157555cd0097.html

 

第 4个异常是java.net.SocketException: (Connection reset或者 Connect reset by peer:Socket write error)。该异常在客户端和服务器端均有可能发生,引起该异常的原因有两个,第一个就是如果一端的Socket被关闭(或主动关闭或者因为异常退出而 引起的关闭),另一端仍发送数据,发送的第一个数据包引发该异常 (Connect reset by peer)。另一个是一端退出,但退出时并未关闭该连接,另一端如果在从连接中读数据则抛出该异常(Connection reset)。简单的说就是在连接断开后的读和写操作引起的。

 

http://topic.csdn.net/u/20080328/10/e08d894a-319a-4985-8407-50e103305e6c.html

 

我这里有关于网络异常方面的建议,发上去大家学习: 

第 1个异常是java.net.BindException:Address already in use: JVM_Bind。该异常发生在服务器端进行new ServerSocket(port)(port是一个0,65536的整型值)操作时。异常的原因是以为与port一样的一个端口已经被启动,并进行监 听。此时用netstat –an命令,可以看到一个Listending状态的端口。只需要找一个没有被占用的端口就能解决这个问题。

 

 

第 2个异常是java.net.ConnectException: Connection refused: connect。该异常发生在客户端进行 new Socket(ip, port)操作时,该异常发生的原因是或者具有ip地址的机器不能找到(也就是说从当前机器不存在到指定ip路由),或者是该ip存在,但找不到指定的端 口进行监听。出现该问题,首先检查客户端的ip和port是否写错了,如果正确则从客户端ping一下服务器看是否能 ping通,如果能ping通(服务服务器端把ping禁掉则需要另外的办法),则看在服务器端的监听指定端口的程序是否启动,这个肯定能解决这个问题。

 

 

第3个异常是java.net.SocketException: Socket is closed,该异常在客户端和服务器均可能发生。异常的原因是己方主动关闭了连接后(调用了Socket的close方法)再对网络连接进行读写操作。

 

 

第 4个异常是java.net.SocketException: (Connection reset或者 Connect reset by peer:Socket write error)。该异常在客户端和服务器端均有可能发生,引起该异常的原因有两个,第一个就是如果一端的Socket被关闭(或主动关闭或者因为异常退出而 引起的关闭),另一端仍发送数据,发送的第一个数据包引发该异常 (Connect reset by peer)。另一个是一端退出,但退出时并未关闭该连接,另一端如果在从连接中读数据则抛出该异常(Connection reset)。简单的说就是在连接断开后的读和写操作引起的。

 

 

第5个异常是 java.net.SocketException: Broken pipe。该异常在客户端和服务器均有可能发生。在第4个异常的第一种情况中(也就是抛出SocketExcepton:Connect reset by peer:Socket write error后),如果再继续写数据则抛出该异常。前两个异常的解决方法是首先确保程序退出前关闭所有的网络连接,其次是要检测对方的关闭连接操作,发现对 方关闭连接后自己也要关闭该连接。

 

客户端错误代码10053 Software caused connection abort(软件原因导致连接中断)

 

又涉及到一个问题就是阻塞函数和非阻塞函数,阻塞Socket和非阻塞Socket

 

一 是阻塞函数,一是非阻塞函数。所谓阻塞函数,是指其完成指定的任务之前不允许程序调用另一个函数,在Windows下还会阻塞本线程消息的发送。所谓非阻 塞函数,是指操作启动之后,如果可以立即得到结果就返回结果,否则返回表示结果需要等待的错误信息,不等待任务完成函数就返回

 

http://www.aka.org.cn/Lectures/002/Lecture-2.1.8/Lecture-2.1.8/new_page_15.htm

 

http://www.cppblog.com/kenlistian/archive/2007/12/27/39746.html

 

http://hi.baidu.com/evenque/blog/item/1ccfc63ffc3527c17d1e7188.html

 

http://www.cic.tsinghua.edu.cn/jdx/lunwen/WinSockx.htm

 

Connection reset by peer的原因: 

经常出现的Connection reset by peer: 原因可能是多方面的,不过更常见的原因是: 

①:服务器的并发连接数超过了其承载量,服务器会将其中一些连接Down掉; 

②:客户关掉了浏览器,而服务器还在给客户端发送数据; 

③:浏览器端按了Stop 

很多人都说是客户端造成的,没有办法控制,是个比较郁闷的问题。

 

引起该问题的原因是由于此时Server端连接已经被复位,而Client依然通过该连接在接收和发送数据,在网上搜索了一下该错误,发现该错误引起的原因大都是防火墙的原因,嘿嘿,又学了一招。

 

socket, nio socket 及nio socket框架MINA总结

 

Windows Sockets Error Codes

 

http://msdn2.microsoft.com/en-us/library/ms740668.aspx

 

 

socket 通信有通信的规则,   如果你希望保持长连接,   就应该有个通信协议,   包括写入\0也是规则的一部分,   传完一个文件等待下一个.   要可不保持长连接,   可使用webservice,   这样你的协议变的更为可读,   更容易包装成产品.   

 

看你的程序希望read结束,   不象是希望保持长连接的样子,   晕ing

 

经常出现的Connection reset by peer: 原因可能是多方面的,不过更常见的原因是: 

①:服务器的并发连接数超过了其承载量,服务器会将其中一些连接Down掉; 

②:客户关掉了浏览器,而服务器还在给客户端发送数据; 

③:浏览器端按了Stop 

很多人都说是客户端造成的,没有办法控制,是个比较郁闷的问题。

 

 

--------------------------------------------------------------------------------

 

这是网络连接断掉引起的,一般是由于通过了防火墙,而防火墙一般都会有超时的机制,在网络连接长时间不传输数据时,会切断这个TCP的session,这时就会导致Connection reset by peer error

 

 

http://topic.csdn.net/t/20060915/12/5024325.html

 

沟通非阻塞IO与阻塞IO - 输入流沟通非阻塞IO与阻塞IO - 输出流附加该问题的最近结论1.我使用MyEclipse单步调试,当调试到inputStream 的时候,看变量,发现一个问题,那就是SocketInputStream的Channel是null,为什么那,我不知道又在网络上找到几句话粘贴到这里吧!如下"No buffer space available , recv failed"谢谢sandyen(杉叶)的回答,我在网上也搜到这个,但是不是这个原因。     问题已解决,确实不是程序的问题。     netstat   -an发现有大量的端口占用,监听很多机器的139,445端口。     确定机器中了震荡波,下载补丁安装重启,问题解决。     导致这个异常的原因应该是系统的socket大量的资源被占用,     导致没有足够的资源接收前台上报或者回复的数据。http://topic.csdn.net/t/20060315/11/4615627.html

 

本文来自CSDN博客:http://blog.csdn.net/huang_w/archive/2009/08/02/4400858.aspx

 

 

另外一片文章:

 

http://stackoverflow.com/questions/585599/whats-causing-my-java-net-socketexception-connection-reset

分享到:
评论

相关推荐

    java.net.SocketException Connection reset 解决方法

    * Connection reset by peer:Connection reset by peer 是一种特殊的 SocketException,它发生在客户端和服务器端之间的连接断开后,导致连接的一端继续发送数据,引发该异常。 实践经验 通过实践经验,我们可以...

    linux iptables防火墙黑名单(封IP) Connection reset by peer

    linux iptables防火墙黑名单(封IP) Connection reset by peer

    PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法

    然而,在处理网络连接时,有时会遇到错误提示"CURL ERROR: Recv failure: Connection reset by peer"。这个错误通常意味着在数据传输过程中,服务器或客户端意外地断开了连接,导致通信失败。以下是针对该问题的详细...

    Docker配置阿里云镜像加速pull的实现

    read tcp 192.168.31.60:55550->104.18.123.25:443: read: connection reset by peer 传输异常 然后看见网上说可以配置阿里云提供的镜像加速 具体方式 进入阿里云的容器镜像服务 快速链接: 容器镜像服务 复制加速...

    java.net.SocketException: Connection reset 解决方法

    例如,如果服务器端关闭了连接,而客户端还在尝试发送数据,那么客户端会收到"Connection reset by peer"的错误信息。 2. **未关闭的连接导致异常**:另一种情况是一端程序退出,但未正确关闭Socket连接。当另一端...

    connection reset by peer问题总结及解决方案

    "Connection Reset by Peer" 是一个常见的网络错误,通常在数据传输过程中出现,表明通信的另一方(客户端或服务器)突然终止了连接。这个问题可能由多种原因引起,下面我们将详细探讨这些原因并提供相应的解决方案...

    connection_reset.rar

    解决oracle数据库发生'Connection reset by peer' or 'Connection reset'的错误 这边的数据库连接是kettle自带的h2数据库,只要有kettle就有这个数据库,目录位于data-integration\samples\db\,连接方式是 ...

    java中的connection reset 异常处理分析

    ECONNRESET错误表示"connection reset by peer",即对方(通常是服务器)主动关闭了连接。这可能是因为服务进程在客户端之前结束,导致服务器发送一个FIN包来结束连接。如果客户端此时尝试再次发送数据,服务器会...

    Connection

    根据给定的文件信息,我们可以总结出以下关于SQL数据库连接(Connection)的相关知识点: ### SQL数据库连接(Connection)概述 在Java中,`Connection`对象是JDBC API的核心组件之一,用于与数据库建立连接。它是...

    PPCoin: Peer-to-Peer Crypto-Currency with Proof-of-Stake

    论文:PPCoin: Peer-to-Peer Crypto-Currency with Proof-of-Stake 论文结构: Introduction Coin Age Proof-of-Stake Minting based on Proof-of-Stake Main Chain Protocol Checkpoint: Protection of History ...

    Java Socket常见异常处理

    4. **java.net.SocketException: (Connection reset 或 Connect reset by peer: Socket write error)** 这两种异常都表示连接已断开。可能的原因是一端关闭了Socket,而另一端仍在尝试读写。处理这类异常需要检测到...

    Peer to Peer Application Development: Cracking the Code

    Title:Peer to Peer Application Development: Cracking the Code URL:http://www.amazon.com/exec/obidos/ASIN/0764549049/qid%3D1041485413/sr%3D11-1/ref%3Dsr%5F11%5F1/104-2059835-4815920 ISBN:0764549049 ...

    Modbus TCP客户端和服务器示例

    **Modbus TCP客户端和服务器示例** 在工业自动化和物联网(IoT)领域,Modbus是一种广泛使用的通信协议,它允许设备之间进行简单的数据交换。本文将深入探讨Modbus TCP,这是一种在网络环境中运行的Modbus变体,尤其...

    sms-SMSCAT2019.conf

    此资源为深信服外置短信中心接口,可使用官方的工具smsservice工具,但短信猫放在其它位置通过网络使用外部接口时,频繁出现连接不稳定,[SMS_SP]readn failed: Connection reset by peer,此时主要原因在连接配置上...

    test-connection-reset

    有关详细说明,请参考 。 在本地重现此问题的步骤: 设定环境 npm install 启动服务器 npm start 在单独的终端中运行测试客户端 npm run client ... 因为从上游的角度来看,连接已关闭,所以它为此请求发送了一个[RST...

    XXL-JOB调度系统学习、调度流程、spring生命周期

    XXL-JOB是一个分布式任务调度平台,其设计思想是将调度行为抽象成一个独立的“调度中心”,这个中心不承担具体的业务逻辑,而是负责发起调度请求。任务则被抽象为分散的`JobHandler`,由“执行器”来统一管理和执行...

Global site tag (gtag.js) - Google Analytics