`
sunnylocus
  • 浏览: 875768 次
  • 性别: Icon_minigender_1
  • 来自: 美国图森
社区版块
存档分类
最新评论

java.net.SocketException: Software caused connection abort: recv failed 异常分析

    博客分类:
  • Java
阅读更多

java.net.SocketException: Software caused connection abort: recv failed
 at java.net.SocketInputStream.socketRead0(Native Method)
 at java.net.SocketInputStream.read(SocketInputStream.java:129)
 at java.net.SocketInputStream.read(SocketInputStream.java:182)

 

发生这个异常,从异常提示看是由于程序引起的,而非网络方面的原因,引发该异常的

场景之一:

  客户机<-->服务器,之间是由一个socket 长连接来通信,客户端有一个接收线程在while(true){..}循环里不停地从InputStream流中读数据,客户机每隔几秒钟发一次心跳包至服务端,如果连续未收到心跳包响应的次数已达到规定的次数,客户机认为此链路异常,将socket关闭,那么服务器会抛出java.net.SocketException: Connection reset by peer异常,然后分配给此socket连接的线程退出,那么客户端在while(true){..}循环,读取流时便会发java.net.SocketException: Software caused connection abort: recv failed异常。



0
0
分享到:
评论
10 楼 stream1990 2013-08-22  
是的,我就是你现在说的这个场景,可是你没说如何解决哇?
求解决方法
stream@v1lady.com
9 楼 yangbo1992 2012-07-13  
sunnylocus 写道
yangbo1992 写道
请问,这是怎么回事啊?
[12-7-12 12:57:42:373 CST] 00000023 SystemOut     O ERROR [WebContainer : 4] 12-07-12 12:57:42 <oracle.xml.xsql.XSQLErrorHandler> -- XML-25017: Unexpected Error Occurred
java.lang.RuntimeException: java.lang.Exception: {网络故障。}
    at com.csair.util.ibe.xsql.actions.AVQueryAction.handleAction(AVQueryAction.java:80)
    at oracle.xml.xsql.actions.XSQLExtensionActionHandler.handleAction(XSQLExtensionActionHandler.java:78)
    at oracle.xml.xsql.XSQLDocHandler.getDocument(XSQLDocHandler.java:158)
    at oracle.xml.xsql.XSQLPageProcessor.process(XSQLPageProcessor.java:171)
    at oracle.xml.xsql.XSQLServlet.doGet(XSQLServlet.java:61)

查询航班信息的时候出现这个。求解。

这是全部的异常信息吗?


嗯,能加qq聊??343567562
8 楼 sunnylocus 2012-07-12  
yangbo1992 写道
请问,这是怎么回事啊?
[12-7-12 12:57:42:373 CST] 00000023 SystemOut     O ERROR [WebContainer : 4] 12-07-12 12:57:42 <oracle.xml.xsql.XSQLErrorHandler> -- XML-25017: Unexpected Error Occurred
java.lang.RuntimeException: java.lang.Exception: {网络故障。}
    at com.csair.util.ibe.xsql.actions.AVQueryAction.handleAction(AVQueryAction.java:80)
    at oracle.xml.xsql.actions.XSQLExtensionActionHandler.handleAction(XSQLExtensionActionHandler.java:78)
    at oracle.xml.xsql.XSQLDocHandler.getDocument(XSQLDocHandler.java:158)
    at oracle.xml.xsql.XSQLPageProcessor.process(XSQLPageProcessor.java:171)
    at oracle.xml.xsql.XSQLServlet.doGet(XSQLServlet.java:61)

查询航班信息的时候出现这个。求解。

这是全部的异常信息吗?
7 楼 yangbo1992 2012-07-12  
请问,这是怎么回事啊?
[12-7-12 12:57:42:373 CST] 00000023 SystemOut     O ERROR [WebContainer : 4] 12-07-12 12:57:42 <oracle.xml.xsql.XSQLErrorHandler> -- XML-25017: Unexpected Error Occurred
java.lang.RuntimeException: java.lang.Exception: {网络故障。}
    at com.csair.util.ibe.xsql.actions.AVQueryAction.handleAction(AVQueryAction.java:80)
    at oracle.xml.xsql.actions.XSQLExtensionActionHandler.handleAction(XSQLExtensionActionHandler.java:78)
    at oracle.xml.xsql.XSQLDocHandler.getDocument(XSQLDocHandler.java:158)
    at oracle.xml.xsql.XSQLPageProcessor.process(XSQLPageProcessor.java:171)
    at oracle.xml.xsql.XSQLServlet.doGet(XSQLServlet.java:61)

查询航班信息的时候出现这个。求解。
6 楼 javaAlpha 2010-03-03  
方法:原因在于 Java现在对 IPv6 的支持很不好


卸载IPv6就好了。
在本地连接的“属性”中卸载。
5 楼 geniouc 2010-02-22  
sunnylocus 写道
geniouc 写道
我在一个socket连接里一直往服务器发送短信,隔一段时间会抛Connect Reset的异常。是因为服务器断断开了么?
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.net.SocketInputStream.read(SocketInputStream.java:182)
at java.io.DataInputStream.readInt(DataInputStream.java:353)
发生异常后,我用socket.sendUrgentData方法,会报下面的异常:
java.net.SocketException: Connection reset by peer: send
at java.net.PlainSocketImpl.socketSendUrgentData(Native Method)
at java.net.PlainSocketImpl.sendUrgentData(PlainSocketImpl.java:541)
at java.net.Socket.sendUrgentData(Socket.java:923)

服务器收到短信后,有没有给客户机返回一个应答?看异常信息是服务器在接收客户机数据流时连接被重置了。服务器还没有全部接收完数据流时客户端关闭了输出流或着socket


客户端只是一直在发送和接受数据,会不会因为服务器承载能力有限,在繁忙时就断开了连接,或者抛出了连接超时的错误。。
4 楼 sunnylocus 2010-02-04  
yibosheng 写道
求解决办法。

用长连接方式,socket建立时该连接不断开,在网络空闲时由客户端发心跳包维持连接。
3 楼 yibosheng 2010-02-04  
求解决办法。
2 楼 sunnylocus 2010-02-02  
geniouc 写道
我在一个socket连接里一直往服务器发送短信,隔一段时间会抛Connect Reset的异常。是因为服务器断断开了么?
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.net.SocketInputStream.read(SocketInputStream.java:182)
at java.io.DataInputStream.readInt(DataInputStream.java:353)
发生异常后,我用socket.sendUrgentData方法,会报下面的异常:
java.net.SocketException: Connection reset by peer: send
at java.net.PlainSocketImpl.socketSendUrgentData(Native Method)
at java.net.PlainSocketImpl.sendUrgentData(PlainSocketImpl.java:541)
at java.net.Socket.sendUrgentData(Socket.java:923)

服务器收到短信后,有没有给客户机返回一个应答?看异常信息是服务器在接收客户机数据流时连接被重置了。服务器还没有全部接收完数据流时客户端关闭了输出流或着socket
1 楼 geniouc 2010-02-02  
我在一个socket连接里一直往服务器发送短信,隔一段时间会抛Connect Reset的异常。是因为服务器断断开了么?
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.net.SocketInputStream.read(SocketInputStream.java:182)
at java.io.DataInputStream.readInt(DataInputStream.java:353)
发生异常后,我用socket.sendUrgentData方法,会报下面的异常:
java.net.SocketException: Connection reset by peer: send
at java.net.PlainSocketImpl.socketSendUrgentData(Native Method)
at java.net.PlainSocketImpl.sendUrgentData(PlainSocketImpl.java:541)
at java.net.Socket.sendUrgentData(Socket.java:923)

相关推荐

    java.net.SocketException: No route to host 异常原因

    NULL 博文链接:https://zhoudan241.iteye.com/blog/1432014

    JAVA.NET.SOCKETEXCEPTION TOO MANY OPEN FILES解决方法

    JAVA.NET.SOCKETEXCEPTION TOO MANY OPEN FILES解决方法 JAVA.NET.SOCKETEXCEPTION TOO MANY OPEN FILES错误是一种常见的网络编程错误,发生在Java应用程序中, especialmente 在 Linux 操作系统中。该错误的出现是...

    java.net.SocketException Connection reset 解决方法

    "java.net.SocketException Connection reset 解决方法" 在 Java 编程中,SocketException 是一种常见的异常,特别是在网络编程中。Conexion reset by peer 是一种特殊的 SocketException,它发生在客户端和服务器...

    在Win7系统下抛出java.net.SocketException的解决办法

    - **SocketException**: 当尝试在网络层面上建立连接时,如果无法识别到有效的IPv4地址,将会抛出`java.net.SocketException`异常。在本例中,错误代码“0”表示无法找到与网络接口关联的IPv4地址。这种情况通常发生...

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

    Java中的`java.net.SocketException: Connection reset`是一个常见的网络编程错误,通常表示在TCP/IP通信过程中,连接突然中断。这个异常可能在客户端或服务器端发生,通常与数据传输的异常中断有关。 首先,我们来...

    http接口调用报错.rar

    接口调用报错:java.net.SocketException: java.lang.ClassNotFoundException: Cannot find the specified class com.ibm.websphere.ssl.protocol.SSLSocketFactory

    Linux下打开的文件过多错误

    Linux下运行tomcat或者was出现java.net.SocketException: 打开的文件过多错误 tomcat报“too many open files”的错误,解决办法如下:

    Java Socket常见异常处理

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

    connection reset解决方案(亲测可用).md

    connection reset解决方案(亲测可用).md

    fastdfs使用java

    在Java中使用FastDFS,首先需要在项目中引入FastDFS的Java客户端库。配置client.conf文件,设置tracker服务器的地址和其他相关参数。接着创建FastdfsClient和FastdfsUtil类,前者用于与FastDFS服务器通信,后者封装...

    Ice-3.7.4.msi for windows版

    Caused by: java.net.ConnectException: Connection refused at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:574) at ...

    Google I/O 2013推荐Android 网络通信框架Volley

    5. **错误处理**:Volley提供了一套完整的错误处理机制,包括重试策略和错误回调,可以帮助开发者更好地理解和处理网络异常。 6. **强大的请求类型**:Volley支持GET、POST等多种HTTP方法,还可以处理HTTP头和POST...

    Socket长连接异常处理

    java.net.SocketException: Connection reset by peer: Socket write error 该异常可能发生在客户端和服务器端,原因是因为一端的 Socket 被关闭,而另一端继续发送数据。解决方法是确保在关闭连接前完成所有的数据...

    Hive2Hive-master.rar

    Hive是Apache软件基金会开发的一个开源大数据处理框架,它基于Hadoop,主要用于存储、管理和分析大规模数据集。下面我们将详细探讨Socket与Hive数据同步的相关知识点。 1. **Socket基础**: Socket是网络通信中的...

    如何解决线程太多导致java socket连接池出现的问题

    3. 错误信息:当Socket连接池出现问题时,可能会出现错误信息,如"java.net.SocketException: No buffer space available (maximum connections reached?): listen failed"。 解决方法 要解决线程太多导致Socket...

    System.SR.dll 无法显示错误信息

    System.Net.WebException: 无法显示错误消息,原因是无法找到包含此错误消息的可选资源程序集 ---&gt; System.Net.Sockets.SocketException: 无法显示错误消息,原因是无法找到包含此错误消息的可选资源程序集 ...

    java中的connection reset 异常处理分析

    在Java编程中,"connection reset"异常通常表示网络连接在数据传输过程中突然中断,这可能是由多种原因导致的。在本文中,我们将深入探讨这种异常的处理和分析,特别是与Java中的Socket通信相关的方面。 首先,`...

    C# 服务器发送邮件失败实例分析

    错误展示: 我在本地是可以发送的但部署到服务器上后就不能...分析: 邮件发送相关端口 首先说下邮件发送的端口:25/465/587 25端口 25端口是为SMTP协议服务开放的,是这三个端口中最老的一个。25端口也称为消息中继端

    javaerror处理资料

    java.net.SocketException: Connection reset by peer: Socket write error 此异常通常出现在客户端尝试向服务器写入数据时突然断开连接的情况。这种现象的原因可能是远程服务器突然关闭了连接,或者客户端发送的...

    JMeterPlugins-Standard.jar和JMeterPlugins-Extras.jar.rar

    2. **聚合报告增强**:标准插件改进了聚合报告,增加了更多统计指标,如每秒事务数(TPS)、吞吐量和错误率等,为分析结果提供了更多维度。 3. **分布式测试支持**:Standard插件增强了JMeter的分布式测试能力,...

Global site tag (gtag.js) - Google Analytics