昨天,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报错:远程主机强迫关闭了一个现有的连接。(已解决)相关推荐

  1. Netty报错 远程主机强迫关闭了一个现有的连接 异常

    百度百科的描述 Netty是由JBOSS提供的一个java开源框架,现为 Github上的独立项目.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务器和客 ...

  2. 循环报错: 远程主机强迫关闭了一个现有的连接

    客户端终止后,服务端一直循环 报java.io.IOException: 远程主机强迫关闭了一个现有的连接. 原始代码 private void read(SocketChannel channel, ...

  3. svn提交报错,Error running context: 远程主机强迫关闭了一个现有的连接

    今天用svn提交代码,一直报错! 报错信息: Commit failed (details follow): Error running context: 远程主机强迫关闭了一个现有的连接. 网上的方 ...

  4. python使用phantomJS循环for爬取多个页面时,解决内存持续变大而报错“ConnectionResetError: [WinError 10054]远程主机强迫关闭了一个现有的连接”的问题

    python使用phantomJS循环for爬取多个页面时,解决内存持续变大而报错"ConnectionResetError: [WinError 10054]远程主机强迫关闭了一个现有的连 ...

  5. tensorflow安装 报错ConnectionResetError(10054, ‘远程主机强迫关闭了一个现有的连接。

    @创建于:20210325 @修改于:20210325 文章目录 1.安装报错: 1.1 报错信息 1.2 解决办法 2.再次报错 2.1 报错信息 2.2 尝试办法(未成功) 2.3 尝试办法[成功 ...

  6. python 网络编程 socket 报错 ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。

    服务端: # -*- coding: utf-8 -*- """ @File : 191226_基于UDP协议的socket_server端.py @Time : 201 ...

  7. torchvision.datasets.FashionMNIST报错[WinError 10054] 远程主机强迫关闭了一个现有的连接

    项目场景: 在李沐老师视频课Softmax 回归 + 损失函数 + 图片分类数据集[动手学深度学习v2]中用到了FashionMNIST数据集. 问题描述: trans = transforms.To ...

  8. netty 远程主机强迫关闭了一个现有的连接。

    如果你的netty报这个错误 java.io.IOException: 远程主机强迫关闭了一个现有的连接. 或者 System.Net.Sockets.SocketException (0x80004 ...

  9. SpringBoot整合Redis:java.io.IOException: 远程主机强迫关闭了一个现有的连接。或者控制台报连接超时异常

    场景: 项目启动过后 Redis 连接过一会就会断开,报如下问题: 问题1: 2022-12-05 23:05:18.287 ERROR 10752 --- [sson-netty-1-11] o.r ...

  10. sonarqube 启动不了,异常提示:远程主机强迫关闭了一个现有的连接

    启动sonarqube 6.7.1 报下面的错误: 2018.01.24 10:10:56 WARN app[][o.e.t.n.Netty4Transport] exception caught o ...

最新文章

  1. opencv 人脸识别_Python学习:基于Opencv来快速实现人脸识别(完整版)
  2. 【已解决】R语言,如何切换镜像?
  3. 最大排列问题的算法实现(Python)究竟最后调换位置的有哪几个?
  4. 汉字的ascii码值范围_ASCII代码
  5. 《网络安全原理与实践》一1.2 资产确定
  6. 关闭保护火狐浏览器的保护与多余的加载项
  7. (20)Xilinx FPGA型号(FPGA不积跬步101)
  8. 计算机审计风险背景,计算机环境下审计风险的特征与对策研究 毕业论文.doc
  9. 2021年中国一次性弹性泵市场趋势报告、技术动态创新及2027年市场预测
  10. WPS2019专业版,最新免费高级版
  11. 汇编软件DOSBox使用教程
  12. 《Qt 5/PyQt 5实战指南》目录
  13. nginx请求转发被拒绝_nginx实现请求转发
  14. Telink 825x 蓝牙开发笔记2
  15. 【读书笔记】重新定义团队
  16. UVA12235 - Help Bubu
  17. mysql slave 1062_mysql主从同步slave错误1062
  18. 解的存在唯一性定理与逐步逼近法
  19. 使用Latex写大论文的经验总结
  20. finalize()用法

热门文章

  1. 数据库查询的降序排列
  2. idea误操作reset head导致未提交的代码丢失(修改记录清空了)
  3. 给大家推荐一个大大的萌妹子,算是我学计算机以来遇到的最喜欢的妹子吧!23333333
  4. Spring MVC集成Swagger2.0
  5. #!/bin/bash和#!/bin/sh是什么意思以及区别
  6. unity3d学习笔记-动画(1.Unity 中动画的基本原理)
  7. 淘宝商品api,天猫商品api,京东商品api,1688商品api,速卖通商品api,微商相册api,拼多多商品api
  8. Gartner:新兴技术成熟度曲线2018(中文—历年)
  9. adb模拟器安装xposed
  10. c语言龟兔赛跑程序,c语言龟兔赛跑