Java Scoket 错误分析

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

环境


客户端 Redhat Enterprise Linux 9
服务端 Redhat Enterprise Linux 9
JDK   Javase5Update4

场景


客户端每个连接池有一个keep-live的时间来控制该连接池中每一个连接的空闲生存期。
服务端也有一个SocketTimeOut时间来控制每一个连接的空闲生存期。

Socket Exception


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

  • 原因:服务端将空闲超时的连接关闭了,但客户端连接池还认为连接有用,就用该连接来发送数据,所以会报错。
  • WSAECONNABORTED (10053) Software caused connection abort

    A connection abort was caused internal to your host machine. The software caused a connection abort because there is no space on the socket's queue and the socket cannot receive further connections.

    WinSock description: The error can occur when the local network system aborts a connection. This would occur if WinSock aborts an established connection after data retransmission fails (receiver never acknowledges data sent on a datastream socket).

    TCP/IP scenario: A connection will timeout if the local system doesn't receive an (ACK)nowledgement for data sent. It would also timeout if a (FIN)ish TCP packet is not ACK'd (and even if the FIN is ACK'd, it will eventually timeout if a FIN is not returned).

    It seems to happen more with WindowsXP and it seems also to be possibly related to Windows firewall settings. In any case the salient point is that the abort has originated inside the local machine.

    It's a stupidly worded message.
  • an intermittent router or firewall decided to drop the connection, or that some tcp/ip related malfunction occurred.


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

  • 原因:服务端将连接关闭了(可能发生了异常),但客户端还在接收数据。


3)java.net.SocketException: Broken pipe

  • 原因:由于是长连接,所以连接会持续利用,只要连接的空闲时间没有超过keep-live的时间就认为是有效的。但服务端在客户端write date之前将连接关闭了,是因为客户端keep-live的时间和服务端SocketTimeOut的时间不一致。
  • 出错模拟:
客户端write date
客户端wirte date
服务端 close socket
客户端write date  // 客户端这时报错了



4)java.net.SocketException: Connection reset

  • 原因:由于是长连接,所以连接会持续利用,只要连接的空闲时间没有超过keep-live的时间就认为是有效的。但服务端在客户端write date的时候将连接关闭了,是因为客户端keep-live的时间和服务端SocketTimeOut的时间不一致。
  • 出错模拟:
客户端write date
客户端write date // 在write date的过程中,服务端关闭连接,客户端报错
MAX96717实战:如何选择Host-to-Peripheral和Pass-Through I2C模式?附配置代码 本文深入解析MAX96717芯片的两种关键I2C模式:Host-to-Peripheral与Pass-Through。通过对比其核心差异、硬件连接考量及软件配置代码,为嵌入式开发者提供了清晰的模式选择策略与实战指南,帮助优化系统设计并避免常见通信故障。 阅读详情

相关推荐

Visual studio 2013 配置 Halcon 13 (非抄袭)

Visual studio 2013 配置 Halcon 13.0.2.2 (其他版本适用) 针对网上抄袭的配置方法均不可用,写了一篇亲试可行的配制方法。如下: 1.下载Halcon安装后(C:\Program Files\MVTec\HALCON-13.0) 添加环境变量,(按下win按键,键入“环境变量”,出现 “编辑系统环境变量”后按下enter即可打开,下方找到“环境变量”按钮)的系...

huyanjackson的专栏 1040

java.net.SocketException: Software caused connection abort: socket write error错误解决方法(selenium)

一、问题描述:使用eclipse运行测试用例,报如下错误 java.net.SocketException: Software caused connection abort: socket write error at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(Unknown Source) at java.net.Socke...

lily_621的博客 4969

化学科学催化反应产率预测之Transformer建模SMILES(Datawhale AI 夏令营)

循环神经网络:由于所有的前文信息都蕴含在一个隐向量中,随着序列长度的增加,早期的上下文信息会逐渐被遗忘。卷积神经网络:受限的上下文窗口在建模长文本时存在天然不足。需要多层卷积操作才能处理长文本。在本篇文章中,我们学习了Transformer的基本架构及其在化学反应产率预测中的应用。通过利用Transformer的Encoder部分对SMILES进行建模,我们能够更有效地捕捉序列数据的特征,从而提高模型的预测性能。

不想宅的冷同学 1095

java学习网络编程遇到异常java.net.SocketException:Software caused connection abort: socket write error

异常java.net.SocketException:Software caused connection abort: socket write error的解决

麋鹿不知归途 1万+

将机器人urdf模型转换为Mujoco环境下的mjcf模型

在使用gym环境进行人形模型站立训练的过程中,我想要将之前ros环境下的机器人urdf模型导入到mujoco环境下,这时候就需要将urdf模型转换为mujoco专用的mjcf模型。-AzureLoong.urdf是机器人模型(我这里使用青龙的模型);--custom_robot.xml是转换完成之后的机器人模型的名字和格式;包要求 Python 版本必须是 3.11 或更高),保证自己的其他训练环境和依赖不被干扰。首先将meshes文件迁移到需要输出的目录下,然后再运行转换命令。最后就可以成功输出了。

weixin_44334573的博客 3754

Linux下离线安装Google Chrome

目录背景一、下载并安装Google Chrome二、下载并安装依赖包1.libvulkan.so.1()(64bit)2.读入数据总结 背景 项目中服务器被要求不能连接外网,不能直接联网安装,所以需要下载Google Chrome安装包和依赖包,然后离线安装。 linux下步骤都一样,不管ubuntu还是centos只是需要下载对应系统的文件包即可。 本机系统:CentOS 7 一、下载并安装Google Chrome 官方下载地址http://www.google.cn/chrome/browser/d

ancientapesman的博客 1万+

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

我使用的框架是Struts2+Hibernate3+Spring,项目的后台数据库是Mysql,最近挪到正式服务器上了,处于一直打开服务的状态,就出现了java.net.SocketException: Software causedconnection abort: socket write error 这个异常。每次白天重启后能够正常访问,晚上没有人访问后,第二天早上再访问就报了这个错误。 ...

weixin_30832983的博客 506

UMI——斯坦福刷盘机器人:通过手持夹爪革新数据收集方式,且使用视觉SLAM和Diffusion Policy预测动作

没想到今年年初的斯坦福mobilealoha的热度刚过,而到今年2月的下旬,斯坦福另一个团队又推出了UMI刷盘机器人,且这两个团队还互相认识、还在一块共同切磋(顺带小小感叹一下,斯坦福的氛围是真好而且真高产)斯坦福UMI刷盘机器人其与mobile aloha(以及AirExo: Low-Cost Exoskeletons for Learning Whole-Arm Manipulation in the Wild)最大的不同在于其收集数据处理的非真实的机器人,而是一个手持夹持器(从而大幅降低成本)

u013250861的博客 1357

解决: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万+

上位机图像处理和嵌入式模块部署(qmacvisual获取边界点)

【声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 在图像处理中,解决了分割的问题之后,下面就是属性信息的提取。在这其中,有一种属性是非常重要的 ,那就是外界轮廓的边界点获取。这个边界点,可以用来计算长度,也可以用来进行直线、圆的拟合,具体的用途取决于现场的实际使用场景。目前qmacvisual支持对边界点的提取,相关控件可以直接用来提取边界点。

嵌入式-老费,一个分享专业嵌入式知识的blog 881

智能车图像处理22-进阶篇14--小s的判断

这篇文章中主要讲述智能车图像处理中 : 小s的判断方法。

taiyuezyh的博客 2566

Java Scoket之java.io.EOFException解决方案

Socket接收数据的时候,常常会抛出java.io.EOFException异常,也没有明确的原因和提示,在网上搜搜,很多人都在问此问题,但是没有找到切实可行的办法。经过研究,问题解决了。 看到的异常堆栈信息如下: java.io.EOFException at java.io.DataInputStream.readFully(DataInp...

hoochiang的专栏 585

XSS漏洞之PDF生成:从XSS到服务端任意文件读取

XSS是最为常见的Web漏洞之一,多年来连续入选OWASP TOP10,相信大家都耳熟能详。 它是一种代码注入类的攻击,是一种客户端侧的攻击,攻击者通过在Web应用中注入恶意JavaScript代码,通过点击URL,最终在受害者浏览器端执行的一种漏洞。主要有反射型XSS、存储型XSS、基于DOM的XSS三类。XSS一些比较常规的危害大概有:重定向浏览器、窃取Cookie、浏览器劫持等。本文章侧重于发现XSS后的进一步利用。 主要介绍在某次实际测试过程中,发现XSS漏洞之后,如何进一步的利用,最终通过XSS达

计算机毕业论文源码,学生个人网页制作html源码。贴近用户做网络推广和互联网优化。 3778

webservice和scoket比较分析

肯定是 Socket 快了! WebServices 是建立在 HTTP 基础之上的,而 HTTP 是建立在 TCP 基础上的。也就是说 WebServices 在 TCP 基础上包装了两层! 但是,直接使用 TCP Socket 的话速度是快了,但是出错的几率,以及开发难度成数倍地增加了。Socket 通信的话,你还得自己设计通信协议,光这点就很复杂。

小河的专栏 3367

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

java web聊天室

对于基于web层的聊天室已经不是新鲜事了,但是用Java开发的还是比较少。原因可能是没有一套好的实现机制,我现在就分享一下个人几个月前的一点心得,也算是抛砖引玉了.    基本功能如下:分频道聊天对话,分频道分屏显示,表情符号处理,扩展性还是比较强的. 众所周知,实现聊天无非2种方式,1种是保持长连接,1种是使用AJAX定时发送请求即客户端将数据从服务器拉过来.由于对SCOKET的一些异常错误

longdechanren的专栏 1038

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

数据库相关异常分析

起因 最近一段时间,生产系统持续碰到一些数据库异常,导致 sql 执行失败。 应用环境 Java 1.7 + Mysql 5.6 + spring + ibatis 问题排查 将各种失败的异常记录了一下,碰到最多下面几种异常。 java.net.SocketTimeoutException: Read timed out java.sq...

weixin_34363171的博客 900

生产系统 SQL 执行异常原因分析

起因 最近一段时间,生产系统持续碰到一些数据库异常,导致 sql 执行失败。 应用环境 Java 1.7 + Mysql 5.6 + spring + ibatis 问题排查 将各种失败的异常记录了一下,碰到最多下面几种异常。 java.net.SocketTimeoutException: Read timed out java.sql.BatchUpdateException: No operations allowed after statement closed。 com.mysql

u014089832的博客 2587

java,每日练习04

在类方法中调用本类的类方法可以直接调用** > - 正确。在类方法(静态方法)中可以直接调用本类的其他类方法(静态方法),无需使用任何特殊的语法。 > > - **C. 在类方法中只能调用本类的类方法** > - 错误。类方法不仅可以调用本类的其他类方法,还可以调用其他类的类方法,甚至可以调用静态变量等。

布说在见的博客 1722

java制作五子棋的论文,基于java的五子棋的设计与实现.docx

摘要:随着社会的不断发展,我们的科技也不断的进步,现在我们的计算机也与我们的生活息息相关,这个时候 Internet能够让我们快速的知道自己想了解的知识。根据计算机的发展过程我们发现如今计算机应用的现状还有现在的发展趋势,我们都有理由相信计算机技术在未来可以很大程度上继续造就我们全新生活和工作方式。甚至会对整个社会的价值观产生重要的影响。五子棋作为一项国际象棋竞技运动,在广大社会群众中也十分流行。...

weixin_33304613的博客 853

java socket-服务器不启动 直接启动客户端.md

启动客户端 报错信息 服务器不启动 直接启动客户端 objc[1252]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/bin/java (0x105f504c0) and /Library/Java/JavaVirtual...

weixin_34081595的博客 642

java之Socket无法完全接收返回内容

最近在使用Socket通讯时,遇到了接收内容不全的问题:客户端发送请求数据,服务器明明返回了73个字节内容,但客户端有时能全部接收,但有时却只能返回4个字节。 一开始是怀疑服务器返回有问题,但使用调试工具连续测试了很多次,结果显示:服务器的确每次都返回了73个字节内容。那很明显了,问题出现在客户端代码上。 错误现象: 再来看看调试工具结果: 让我们来看看客户

LVXIANGAN的专栏 1万+

io 错误: socket read timed out_Java的IO , BIO , NIO 知多少?如何去理解三大IO:IO ,BIO ,NIO...

老铁不管用过hfs,还是dubbo等等RPC框架,对nio,bio,aio多熟悉,咱们一起以初学者的心态,一起学习下netty。大家都知道netty是基于nio,为什么会有nio,是之前的bio有些问题无法解决,所以出现了nio,其实nio也有自身的问题,例如:堵塞。(一)传统BIO线程模型/阻塞网络编程1.两个进程之间的通迅 CS模式2.服务端需要绑定端口,监听客户端是否有请求。one-by-o...

weixin_31000273的博客 253

mysql 查看执行失败的sql server_生产系统 SQL 执行异常原因分析

起因最近一段时间,生产系统持续碰到一些数据库异常,导致 sql 执行失败。应用环境Java 1.7 + Mysql 5.6 + spring + ibatis问题排查将各种失败的异常记录了一下,碰到最多下面几种异常。java.net.SocketTimeoutException: Read timed outjava.sql.BatchUpdateException: No operations ...

weixin_32111725的博客 1136
上一篇: Oracle内存结构与实例
下一篇: AIO 简介
windgoogle
博客等级 码龄23年 7粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值