Socket java.net.SocketException: Connection reset的解决方案
Posted lsswudi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Socket java.net.SocketException: Connection reset的解决方案相关的知识,希望对你有一定的参考价值。
上面这段代码,是最常用的的socket 发送方式,对于一般的socket链接都适用。但是在这里跟银行联调时一直报了一个错:
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:196)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at java.net.SocketInputStream.read(SocketInputStream.java:108)
经查阅问题描述如下:
1,如果一端的Socket被关闭(或主动关闭,或因为异常退出而 引起的关闭),另一端仍发送数据,发送的第一个数据包引发该异常(Connect reset by peer)。
2,一端退出,但退出时并未关闭该连接,另一端如果在从连接中读数据则抛出该异常(Connection reset)。简单的说就是在连接断开后的读和写操作引起的。
我这里是客户端,socket最后关闭,原因只能是2。说明对方在把数据返回后,就把socket关闭了,而客户端还在读数据。所有检查了下服务器的代码,是发送反馈的资源未关闭。
以上是关于Socket java.net.SocketException: Connection reset的解决方案的主要内容,如果未能解决你的问题,请参考以下文章
io.sockets.socket(socket_id).emit() - 没有方法'socket'