java.io.IOException: 远程主机强迫关闭了一个现有的连接
摆脱烦恼最有效的是慢思考,为什么和我想的不一样,出入在哪里,什么导致的?
疑惑
我使用netty框架接受数据,每隔半个小时存储数据,运行不到三个小时报错
java.io.IOException: 远程主机强迫关闭了一个现有的连接
java.io.IOException: 远程主机强迫关闭了一个现有的连接。
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(Unknown Source)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(Unknown Source)
at sun.nio.ch.IOUtil.read(Unknown Source)
at sun.nio.ch.SocketChannelImpl.read(Unknown Source)
解惑
主要原因是客户端强制关闭了连接(没有调用SocketChannel的close方法),服务端还在read事件中,此时读取客户端的信息时会报错。
代码不够健壮导致的;
//获取此key对应的套接字通道SocketChannel channel = (SocketChannel) key.channel();//创建一个大小为1024k的缓存区ByteBuffer buffer = ByteBuffer.allocate(1024);StringBuffer sb = new StringBuffer();//将通道的数据读到缓存区int count = 0;try{count = channel.read(buffer);}catch(IOException e){key.cancel();channel.socket().close();channel.close();return;}
java.io.IOException: 远程主机强迫关闭了一个现有的连接相关推荐
- java.io.IOException: 远程主机强迫关闭了一个现有的连接。
参考文档: (2条消息) 解决redis中java.io.IOException: 远程主机强迫关闭了一个现有的连接_zeal9s的博客-CSDN博客_redis远程主机强迫关闭了一个现有连接怎么解决 ...
- 关于Redis出现“java.io.IOException: 远程主机强迫关闭了一个现有的连接”的一次排查
背景 最近在使用springboot(Windows下)连接redis(云服务器)开发时发现一些问题:连接成功的情况下,在一段时间未交互数据后,再次通过连接与Redis传输数据回出现异常java.io ...
- SpringBoot整合Redis:java.io.IOException: 远程主机强迫关闭了一个现有的连接。或者控制台报连接超时异常
场景: 项目启动过后 Redis 连接过一会就会断开,报如下问题: 问题1: 2022-12-05 23:05:18.287 ERROR 10752 --- [sson-netty-1-11] o.r ...
- java强制关闭远程桌面_elasticsearch中的java.io.IOException: 远程主机强迫关闭了一个现有的连接...
[2018-07-31T14:29:41,289][WARN ][o.e.x.s.t.n.SecurityNetty4HttpServerTransport] [9rTGh-y] caught exc ...
- java nio 强制关闭_Java NIO服务器:远程主机强迫关闭了一个现有的连接
Java NIO聊天室 中,若客户端强制关闭,服务器会报"java.io.IOException: 远程主机强迫关闭了一个现有的连接.",并且服务器会在报错后停止运行,错误的意思就 ...
- 远程计算机强迫关闭一个连接,远程主机强迫关闭了一个现有的连接。
org.apache.catalina.connector.ClientAbortException: java.io.IOException: 远程主机强迫关闭了一个现有的连接. at org.ap ...
- es远程主机强迫关闭了一个现有的连接
Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接. at sun.nio.ch.SocketDispatcher.read0(Native Me ...
- netty 远程主机强迫关闭了一个现有的连接。
如果你的netty报这个错误 java.io.IOException: 远程主机强迫关闭了一个现有的连接. 或者 System.Net.Sockets.SocketException (0x80004 ...
- 循环报错: 远程主机强迫关闭了一个现有的连接
客户端终止后,服务端一直循环 报java.io.IOException: 远程主机强迫关闭了一个现有的连接. 原始代码 private void read(SocketChannel channel, ...
最新文章
- Tomcat windows下安装
- Metasploit-MS17-010利用
- Openxml: 导出excel 设置 cell的格式
- 安全密码存储–请勿做的事和Java示例
- 父类调用子类中的方法
- 高效 Java Web 开发框架 JessMA v3.2.1 正式发布
- ★LeetCode(17)——电话号码的字母组合(JavaScript)
- 2018SDIBT_国庆个人第七场
- 关于网络安全检查的问题
- paip.c#图片裁剪
- 哈希函数 英语单词_使用Hash表实现英文单词表并实现单词查询操作
- Ubuntu系统打不开windows磁盘文件
- 故宫的首夜,一票难求,网站遭“围攻”宕机
- JavaScript系列之去掉字符串前后的空格
- 《VR/AR技术与应用》笔记 001
- 知乎-知乎网站-复制文字-破解知乎复制
- ,片片鳞甲都烁烁生辉
- 电脑游戏业编年史之十二──叛逆
- 写一份三年经验的Java简历
- 威客witkey扫盲