JAVA异常:ClientAbortException: java.net.SocketException: Connection reset by peer: socket

博主帮客户解锁登陆IP后,客户导出Excel无响应。查看日志发现ClientAbortException和SocketException,排除代码问题。因导出是I/O操作且客户频繁大量导出,先尝试重启服务器未解决,后查看并清理服务器缓存,问题得以解决,整个过程约15分钟。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记:5月18号下午

       刚帮客户解锁登陆ip后,客户求助导出excel无响应,于是博主赶忙尝试登陆系统边尝试导出边思考,是否最近一次更新系统不小心更错了,仔细一想,上次更新内容不多不至于影响导出这一块代码。

       于是我打开日志,找到了ClientAbortException: java.net.SocketException: Connection reset by peer: socket异常,字面意思"客户端异常",很明显不是代码的问题。

       由于第一次看见这种异常博主马上百度了一波org.apache.catalina.connector.ClientAbortException: java.net.SocketException: Broken pipe (Write failed),浏览置顶页面https://www.cnblogs.com/tv151579/p/6124923.html

       瞄了一眼结果告诉我目前没有找到好的解决办法,没办法,只能自己想办法了。

       因为导出excel是一个I/O读写操作,我出现的问题又是客户几个页面疯狂导出大量excel。

       于是“第一个办法”就冲我脑海中,那就是重启服务器在告诫客户不要短时间频繁导出大量数据,为了以防万一。

       重启后博主跃跃欲试导出第一份excel,哇 还是不行,对我这种对客户至上的人来说,客户时间就如同金钱,我先是告知客户给点时间我想办法,这几个字刚敲完,

       这时"第二个办法"出来了,既然是频繁的I/O操作,那必然对服务器缓存要求很高,开搞

       第一步:查看缓存

       [root@izj6c2ph7z bin]$free -h
                            total        used        free      shared  buff/cache   available
       Mem:            15G        5.7G        2.1G        768K        7.7G        9.4G
       Swap:            0B          0B          0B

       很明显buff/cache缓冲区内存比free可分配的内存要高的多

       第二步:清理缓存

       [root@izj6c2ph7z bin]$echo 1 > /proc/sys/vm/drop_caches 
       [root@izj6c2ph7z bin]$echo 2 > /proc/sys/vm/drop_caches
       [root@izj6c2ph7z bin]$echo 3 > /proc/sys/vm/drop_caches

       清理缓存的办法很简单,随便百度就有了,因为博主已经不是第一次清缓存所以很快就给了个素质三连

       第三步:查看缓存

       [root@izj6c2ph7z bin]$free -h
                            total        used        free      shared  buff/cache   available
       Mem:            15G        6.3G        9.1G        768K        151M        9.0G
       Swap:            0B          0B          0B

       重新查看清理后的缓存,明显缓冲区的内存少了很多,好了,刚清理完缓存 客户就告诉我可以导出了。

       整个过程用时十五分钟左右,客户至上。

这个异常通常表示与服务器的连接被重置。这可能是由于以下几个原因之一导致的:网络问题、服务器故障、或者服务器拒绝了连接。 引用中提到的java.net.SocketException: Connection reset by peer是指在进行socket通信时,对方(服务器)强制关闭了连接,这可能是由于服务器发生了某种错误或者超过了连接的最大数目。 引用中的java.net.ConnectException: Connection refused: connect是指在客户端尝试连接到服务器时,服务器拒绝了连接。这可能是由于服务器没有启动或者正在运行的端口不正确。 引用中的org.apache.catalina.connector.ClientAbortException: java.io.IOException: Connection reset by peer可能是由于在反向代理的环境下访问项目时,服务器强制关闭了连接。 总的来说,java.io.IOException: Connection reset by peer异常表示与服务器的连接被重置,可能由于网络问题、服务器故障或者服务器拒绝了连接。要解决这个问题,可以尝试检查网络连接、确认服务器是否正常运行、或者联系服务器管理员以获取更多信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [java.io.IOException: Connection reset by peer](https://blog.csdn.net/weixin_45631366/article/details/109543495)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [记录一次离奇的java.io.IOException: Connection reset by peer报错解决方案](https://blog.csdn.net/jinhuang888/article/details/125132097)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值