使用socket 获取流读取 时报错java.net.SocketException: Software caused connection abort: recv failed

Jmeter 进行TCP压测请求时报 java.net.SocketException: Software caused connection abort: socket write error Jmeter java.net.SocketException: Software caused connection abort: socket write error 解决方案 阅读详情

场景:

   使用socket 进行通信 循环读取信息的时候报错java.net.SocketException: Software caused connection abort: recv failed

大概原因:

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

简单说就是:循环读取信息的时候 InputStream 流异常关闭,但是你还从里面读取,所以要报错

 

解决方案:

每次读取信息的时候 检查是否还是连接状态:

                         使用available()方法, 返回大于0的表示连接,小于等于0 的是关闭连接

简单代码:

        while((len = is.read(bytes)) != -1) {

                .......!

               最后判断下连接状态:

             if(is.available()<=0) break;        

}

C#上位机对接MES系统实战:从HTTP请求封装到生产数据上传的完整流程 本文详细介绍了C#上位机对接MES系统的完整流程,从HTTP请求封装到生产数据上传,助力工业互联网场景下的高效数据传输。通过工程化封装设计、智能重试机制和熔断保护等策略,显著提升数据上传的稳定性和可靠性,适用于各类制造执行系统的集成需求。 阅读详情

相关推荐

别再用Thread.sleep了!解决SocketException: Software caused connection abort的三种正确姿势

本文深入解析Java网络编程中常见的`java.net.SocketException: Software caused connection abort`错误,并提供三种优雅解决方案。从服务端优化、客户端连接池配置到基于NIO的响应式处理,帮助开发者彻底告别低效的`Thread.sleep`临时修复,实现稳定可靠的TCP连接管理。

weixin_30813225的博客 386

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

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

yangguangxiadeshu的专栏 5106

别再用Thread.sleep了!解决HttpClient报错 ‘Software caused connection abort‘ 的正确姿势

本文深入解析Java中`java.net.SocketException: Software caused connection abort`错误的根本原因,并提供工程化解决方案。通过优化HttpClient连接池配置、服务端优雅关闭实践及高级监控方案,彻底解决连接中断问题,替代低效的Thread.sleep方案。文章还介绍了异步HttpClient和HTTP/2协议等现代技术方案。

weixin_30730053的博客 552

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

前言:最近在学习 NIO 和netty 相关知识时,在bio的模式下,遇到了 java.net.SocketException: Software caused connection abort: recv failed 的问题,刚好解决了,记录一下 我是启动一个服务绑定8801端口,启动然 客户端使用 httpClient 进行发起一个get请求,如果成功请求后会输出 服务端的 "hello,nio1"的字样但时间情况报错了。 大概的意思就是 程序连接中止:接受失败,然后我就开始检查代码,用原生.

腾蛟起凤吕学士 3万+

量化交易新手必看:如何用vnpy+Tushare轻松获取A股历史数据(附完整代码)

本文为量化交易新手提供了使用vnpy和Tushare构建A股历史数据获取系统的完整指南。通过详细的代码示例,手把手教你搭建环境、封装数据获取引擎,并实现日线等数据的格式转换与本地存储,为策略回测与分析奠定坚实的数据基础。

weixin_29098117的博客 377

缺陷检测:使用PatchCore训练自己的数据集

必须包含有训练图片(无缺陷图片)、测试图片(缺陷图片)和ground_truth,并且ground_truth必须与对应图片的名称相同。同上一篇结果一样,我的输出为原始图片大小,但是不知道是不是因为图片不是正方形的,导致训练结果不好。编写一个脚本,重新规划数据集的路径规则,但是我稍微写复杂了一点,使用了类来操作。第二种(复杂):编写一个自己的Dataset,参考。第一种(简单):将数据集路径规则改成项目中。返回的必须是一个字典类型,可以阅读。本人此次使用的是第一种方法。运行时,参数部分直接输入。

xiaoxTai的博客 6473

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

今天总是报一个

zhang6560329的专栏 7803

光耦合MOSFET(Optocoupled MOSFET,简称OCMOS)

光耦合MOSFET(Optocoupled MOSFET,简称OCMOS)是一种将光电耦合器和MOSFET结合在一起的器件,用于实现电气隔离和信号传输。选择合适的光耦合MOSFET时,还需要考虑具体应用的需求和环境条件,以确保最佳性能和可靠性。- 最大输出电流和电压:确保所选型号能够满足电路的最大电流和电压需求。- 最大输出电流和电压:确保所选型号能够满足电路的最大电流和电压需求。- 隔离电压:根据应用环境的电气隔离要求选择合适的隔离电压。- 隔离电压:根据应用环境的电气隔离要求选择合适的隔离电压。

eydj2008的专栏 1724

Software caused connection abort: recv failed

 Software caused connection abort: recv failedjava.net.SocketException: Software caused connection abort: recv failedat java.net.SocketInputStream.socketRead0(Nativ

swandragon的专栏 5356

从命名玄学看单片机江湖:STC、STM32与ESP32的型号密码与设计哲学

本文解析了STC、STM32和ESP32三大主流单片机系列的型号命名规则,揭示了其背后的设计哲学与市场策略。通过详细解读STC89C52、STM32F103C8T6等具体型号,帮助开发者理解芯片核心特性、性能等级及适用场景,为嵌入式系统选型提供实用指南。

g5h6i的博客 760

Transformer代码(Pytorch实现和详解)!!!

这个是第一版,有些代码如果不对,欢迎在评论指正,后续会慢慢改,我也是刚接触transformer,若有些地方理解不对还请指正。

xml的博客 5611

【JAVA】使用socket 获取流读取 时报错java.net.SocketException: Software caused connection abort: recv failed

使用socket 进行通信 循环读取信息的时候报错java.net.SocketException: Software caused connection abort: recv failed 大概原因: 客户机<-->服务器,之间是由一个socket 长连接来通信,客户端有一个接收线程在while(true){..}循环里不停地从InputStream流中读数据,客户机每隔几秒钟...

Extends的博客 1987

华硕ROG幻16笔记本电脑模式切换管理工具完美替代华硕奥创中心管理工具

参考文档1这个工具可以完美替代华硕奥创中心工具,可以定制化不同模式下的CPU、GPU、风扇转速、电池计划等。是由华硕开发人员开发的一个纯绿色的系统管理工具。直接展示启动后的工具界面效果图:这个工具也可以一键式停止正在运行的华硕ASUS服务,减少不必要的资源消耗。

追梦&天空的博客 1万+

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

<br />关键字: recv failed<br />java.net.SocketException: Software caused connection abort: recv failed<br /> at java.net.SocketInputStream.socketRead0(Native Method)<br /> at java.net.SocketInputStream.read(SocketInputStream.java:129)<br /> at java.net.Socket

燕窝 1万+

C++从入门到进阶的系列书籍推荐(22本书)

要多读书,读好书!一本书要多读几遍才好,每次都可能有新的收获!特别在是有一定的工作年限和工作经验之后!读书百遍,其义自见! 下面就给大家推荐一下C++程序员进阶需要读的经典书籍: 1、C++入门书籍 C++是在C语言的基础上发展而来的,要学习C++之前需要先学习C语言。有了C语言基础之后再去学习C++。 1.1、C语言程序设计(谭浩强) 该书被公认为学习C语言程序设计的优秀教材,被全国大多数高校选用,是学习C语言的主流用书。本书比较通俗易懂,是初入者必备的书籍。 ........

dvlinker的技术专栏 4万+

【机器学习系列】一文搞懂 零知识机器学习(zkML)

位串行乘法器:实现了Booth编码优化,将乘法分解为移位-加法序列,减少部分积数量50%:模拟脉动阵列的2D网格计算,支持分块(tiling)策略优化内存层次卷积映射:提供直接卷积(行缓冲+滑动窗口)和im2col+GEMM两种硬件映射策略。

VectorShift的博客 154

java nio recv failed_FTP上传文件,报错java.net.SocketException: Software caused connection abort: recv fail...

FTP上传功能,使用之前写的代码,一直上传都没有问题,今天突然报这个错误:java.net.SocketException: Software caused connection abort: recv failedat java.net.SocketInputStream.socketRead0(Native Method)at java.net.SocketInputStream.read(S...

weixin_39849387的博客 441

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

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

记录一个socket编程的异常:java.net.SocketException: Software caused connection abort: recv failed 总结原因:应为客户端或者服务器端有一端已经关闭,而另一端则以为连接还在连的,在发送或接受请求的时候就会报这个错误。...

lifeneedyou的专栏 388

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

[查异常网]-java.net.SocketException: Software caused connection abort: recv failed 异常分析

--------------------------------------------------------------------------------------------------------------- Java Exception 异常信息查询,查异常网 查找开发中遇到的各种异常问题:http://www.findexception.com/ ----------

606

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

java new socket 失败_java.net.SocketException:软件导致连接中止:recv失败

java.net.SocketException:软件导致连接中止:recv失败我一直无法find一个适当的答案,究竟是什么下面的错误意味着:java.net.SocketException: Software caused connection abort: recv failed笔记:这个错误是不经常的,不可预测的; 虽然得到这个错误意味着所有未来的URI请求也将失败。唯一有效的解决schem...

weixin_36322704的博客 998

Caused by: java.net.SocketException: Software caused connection abort: recv

Caused by: java.net.SocketException: Software caused connection abort: recv     重启了下postgresql的服务。 目前这个问题没有重现。猜想是:内存异常后,请求失败。 (背景:任务管理器中内存达到98%左右)

Draco 2970

别再用Thread.sleep了!解决HttpClient报‘Software caused connection abort’的正确姿势

本文深入解析HttpClient报'Software caused connection abort'异常的根源,提供工程级解决方案,包括连接管理策略、服务端最佳实践和高级监控方案,帮助开发者彻底告别低效的Thread.sleep方案,实现高可靠的HTTP通信。

weixin_30808693的博客 400
上一篇: 简单搭建webSocket
下一篇: java sevlet 中Listener
xiaoduup
博客等级 码龄9年 23粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值