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关闭了,而客户端还在读数据。所有检查了下服务器的代码,是发送反馈的资源未关闭。

原文地址:https://www.cnblogs.com/lsswudi/p/11441992.html

时间: 2024-10-11 04:34:51

Socket java.net.SocketException: Connection reset的解决方案的相关文章

高并发下载tomcat下的文件时,发生java.net.SocketException: Connection reset解决方案

(1)问题产生:使用500个线程并发下载tomcat工程中的一个文件时,服务器出现java.net.SocketException: Connection reset异常, 客户端出现connect timeout: (2)分析认为是服务器连接超过最大并发数而重置,导致客户端连接超时: 于是配置tomcat的配置文件,修改最大并发连接数: 在/home/econf/apache-tomcat-6.0.20/conf目录下,修改server.xml在<Connector port="8080

java网络编程的java.net.SocketException: Connection reset异常

一开始学Stream时没注意过write的flush()方法,今天在学网络编程时,注意到了 服务器端: import java.net.*; import java.io.*; public class Client { public static void main(String[] args) throws Exception { Socket socket = new Socket("localhost",8888); BufferedOutputStream out = new

最近纠结致死的一个java报错java.net.SocketException: Connection reset 终于得到解决

Copy from http://www.seotcs.com/blog/796.html 自从SEOTcs系统11月份24日更新了一下SEO得分算法以来,一直困扰我的一个问题出现了,java的数据job任务,在执行过程中会经常报以下的错误: “2011-12-03 18:00:32 DefaultHttpClient [INFO] I/O exception (java.net.SocketException) caught when processing request: Connectio

ftp4j揭示java.net.SocketException: Connection reset的解决

ftp4j提示java.net.SocketException: Connection reset的解决系统的自动更新FTP服务器,其他计算机连接都没有问题,包括xp.server2008.win7.win8,简体和繁体. 今天发现一台简体win7无法自动更新,提示错误如下:java.net.SocketException: Connection reset        at java.net.SocketInputStream.read(Unknown Source)        at j

SSLv3协议、TLSv1.2协议配置不对导致javax.ws.rs.ProcessingException: java.net.SocketException: Connection reset

SSl:Secure Sockets Layer 安全套接层 TLS:Transport Layer Security传输层安全 是为网络通信提供安全及数据完整性的一种安全协议.TLS与SSL在传输层对网络连接进行加密.(见百度) 场景描述:将公司请求第三方公司的接口协议由http改成https后,出现了请求套接字异常的情况,第三方公司也收不到具体的请求,具体异常如下, javax.ws.rs.ProcessingException: java.net.SocketException: Conn

FtpClient上传文件异常:java.net.SocketException: Connection reset

这问题折磨我快一天了,下午这会儿终于解决了,问题不在程序错误,原因还是出在上传图片的客户端: 贴上异常代码块: 16:38:20.117 INFO  [email protected] - 成功登陆FTP服务器 16:38:20.123 ERROR [email protected] - Connection reset java.net.SocketException: Connection reset     at java.net.SocketInputStream.read(Socket

一次hibernate+c3p0+mysql连接池java.net.SocketException: Connection reset故障的解决笔记

hibernate 有自带的连接池,但大家用起来颇有微词,因为其稳定性以及性能都不太好.c3p0 连接池的性能和稳定性久经考验,所以用 hibernate 的朋友一般都使用 c3p0 的连接池.那么是不是把 c3p0 的包导进来,然后 hibernate.cfg.xml 里把 c3p0 的各种属性加进来就万事大吉了呢?不见得,很可能你的项目上线以后,发现你的连接池不仅性能低下,而且可靠性差,c3p0 并没有表现出它传说中应该具有的那些特性.你在咒骂 c3p0 的可靠性以及高性能的时候,有没有想过

java.net.SocketException: Connection reset 硬件防火墙也有罪?

今天早上例行进行远程备份,可是我却发现,整个备份过程无法顺利完成. 在备份的过程中不断的抛出异常: java.net.SocketException: Connection reset 奇怪,在之前的一个多月里,每次备份都可以顺利完成,今天却老是抛出这样的错误. 我开始以为是程序的问题,但我检查了十几分钟,没有找到原因. 后来我开始怀疑是不是服务器加了什么防护设置,因为我的备份程序是采用的多线程. 我把问题提交给机房那边,一分钟后,机房工作人员通知我说,已去掉了硬件防火墙,我再试了一下,备份顺利

nternal Exception java.net.socketexception Connection Reset Error : A Guide

Copy from http://www.minecraftman.com/internal-exception-java-net-socketexception-connection-reset/ Internal Exception java.net.socketexception Connection Reset Error : A Guide The Internal Exception java.net.socketexception Connection Reset error me