netty报错:远程主机强迫关闭了一个现有的连接。(已解决)
昨天,java 集成netty服务的项目,在测试服务器上,发现了一个问题:
1.项目netty包版本:netty-all-5.0.0.Alpha1.jar。
2.问题的描述:服务器启动,各种通信正常,运行一段时间,大概10分钟后,这个问题就出现了,并且客户端发送上来的数据,不再收到回写数据,感觉就是被卡死了。
3.错误信息如下:
java.io.IOException: 你的主机中的软件中止了一个已建立的连接。at sun.nio.ch.SocketDispatcher.read0(Native Method)at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)at sun.nio.ch.IOUtil.read(IOUtil.java:192)at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:379)at io.netty.buffer.UnpooledUnsafeDirectByteBuf.setBytes(UnpooledUnsafeDirectByteBuf.java:446)at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:871)at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:208)at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:119)at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:485)at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:452)at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:346)at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:794)at java.lang.Thread.run(Thread.java:745)
(找了很多博客,都没能解决到问题,但是从各个博文中,我就感觉我代码依然是有问题的。)
直到今天,终于解决了!!!!
最后我是这样解决的(我始终感觉我犯的是一个低级的错误,真的是恨自己。):
1.找到你读取通道数据的方法:public void channelRead(ChannelHandlerContext ctx, Object msg)。
2.检查这个方法中的代码,我这里是由于没有添加ctx.flush()导致出错:
我这里加上后,netty通信正常。
Tips:下面这2个方法,也需要flush()或者close()
/*** channelReadComplete channel 通道 Read 读取 Complete 完成* 在通道读取完成后会在这个方法里通知,对应可以做刷新操作 ctx.flush()*/public void channelReadComplete(ChannelHandlerContext ctx) throws Exception {ctx.flush();}/*** exceptionCaught exception 异常 Caught 抓住* 抓住异常,当发生异常的时候,可以做一些相应的处理,比如打印日志、关闭链接*/@Overridepublic void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) throws Exception {//super.exceptionCaught(ctx, cause);ctx.close();log.error("异常信息:", cause);System.out.println("异常信息:\r\n" + cause.getMessage());}
netty报错:远程主机强迫关闭了一个现有的连接。(已解决)相关推荐
- Netty报错 远程主机强迫关闭了一个现有的连接 异常
百度百科的描述 Netty是由JBOSS提供的一个java开源框架,现为 Github上的独立项目.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客 ...
- 循环报错: 远程主机强迫关闭了一个现有的连接
客户端终止后,服务端一直循环 报java.io.IOException: 远程主机强迫关闭了一个现有的连接. 原始代码 private void read(SocketChannel channel, ...
- svn提交报错,Error running context: 远程主机强迫关闭了一个现有的连接
今天用svn提交代码,一直报错! 报错信息: Commit failed (details follow): Error running context: 远程主机强迫关闭了一个现有的连接. 网上的方 ...
- python使用phantomJS循环for爬取多个页面时,解决内存持续变大而报错“ConnectionResetError: [WinError 10054]远程主机强迫关闭了一个现有的连接”的问题
python使用phantomJS循环for爬取多个页面时,解决内存持续变大而报错"ConnectionResetError: [WinError 10054]远程主机强迫关闭了一个现有的连 ...
- tensorflow安装 报错ConnectionResetError(10054, ‘远程主机强迫关闭了一个现有的连接。
@创建于:20210325 @修改于:20210325 文章目录 1.安装报错: 1.1 报错信息 1.2 解决办法 2.再次报错 2.1 报错信息 2.2 尝试办法(未成功) 2.3 尝试办法[成功 ...
- python 网络编程 socket 报错 ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
服务端: # -*- coding: utf-8 -*- """ @File : 191226_基于UDP协议的socket_server端.py @Time : 201 ...
- torchvision.datasets.FashionMNIST报错[WinError 10054] 远程主机强迫关闭了一个现有的连接
项目场景: 在李沐老师视频课Softmax 回归 + 损失函数 + 图片分类数据集[动手学深度学习v2]中用到了FashionMNIST数据集. 问题描述: trans = transforms.To ...
- netty 远程主机强迫关闭了一个现有的连接。
如果你的netty报这个错误 java.io.IOException: 远程主机强迫关闭了一个现有的连接. 或者 System.Net.Sockets.SocketException (0x80004 ...
- SpringBoot整合Redis:java.io.IOException: 远程主机强迫关闭了一个现有的连接。或者控制台报连接超时异常
场景: 项目启动过后 Redis 连接过一会就会断开,报如下问题: 问题1: 2022-12-05 23:05:18.287 ERROR 10752 --- [sson-netty-1-11] o.r ...
- sonarqube 启动不了,异常提示:远程主机强迫关闭了一个现有的连接
启动sonarqube 6.7.1 报下面的错误: 2018.01.24 10:10:56 WARN app[][o.e.t.n.Netty4Transport] exception caught o ...
最新文章
- opencv 人脸识别_Python学习:基于Opencv来快速实现人脸识别(完整版)
- 【已解决】R语言,如何切换镜像?
- 最大排列问题的算法实现(Python)究竟最后调换位置的有哪几个?
- 汉字的ascii码值范围_ASCII代码
- 《网络安全原理与实践》一1.2 资产确定
- 关闭保护火狐浏览器的保护与多余的加载项
- (20)Xilinx FPGA型号(FPGA不积跬步101)
- 计算机审计风险背景,计算机环境下审计风险的特征与对策研究 毕业论文.doc
- 2021年中国一次性弹性泵市场趋势报告、技术动态创新及2027年市场预测
- WPS2019专业版,最新免费高级版
- 汇编软件DOSBox使用教程
- 《Qt 5/PyQt 5实战指南》目录
- nginx请求转发被拒绝_nginx实现请求转发
- Telink 825x 蓝牙开发笔记2
- 【读书笔记】重新定义团队
- UVA12235 - Help Bubu
- mysql slave 1062_mysql主从同步slave错误1062
- 解的存在唯一性定理与逐步逼近法
- 使用Latex写大论文的经验总结
- finalize()用法
热门文章
- 数据库查询的降序排列
- idea误操作reset head导致未提交的代码丢失(修改记录清空了)
- 给大家推荐一个大大的萌妹子,算是我学计算机以来遇到的最喜欢的妹子吧!23333333
- Spring MVC集成Swagger2.0
- #!/bin/bash和#!/bin/sh是什么意思以及区别
- unity3d学习笔记-动画(1.Unity 中动画的基本原理)
- 淘宝商品api,天猫商品api,京东商品api,1688商品api,速卖通商品api,微商相册api,拼多多商品api
- Gartner:新兴技术成熟度曲线2018(中文—历年)
- adb模拟器安装xposed
- c语言龟兔赛跑程序,c语言龟兔赛跑