摆脱烦恼最有效的是慢思考,为什么和我想的不一样,出入在哪里,什么导致的?


疑惑

我使用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: 远程主机强迫关闭了一个现有的连接相关推荐

  1. java.io.IOException: 远程主机强迫关闭了一个现有的连接。

    参考文档: (2条消息) 解决redis中java.io.IOException: 远程主机强迫关闭了一个现有的连接_zeal9s的博客-CSDN博客_redis远程主机强迫关闭了一个现有连接怎么解决 ...

  2. 关于Redis出现“java.io.IOException: 远程主机强迫关闭了一个现有的连接”的一次排查

    背景 最近在使用springboot(Windows下)连接redis(云服务器)开发时发现一些问题:连接成功的情况下,在一段时间未交互数据后,再次通过连接与Redis传输数据回出现异常java.io ...

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

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

  4. java强制关闭远程桌面_elasticsearch中的java.io.IOException: 远程主机强迫关闭了一个现有的连接...

    [2018-07-31T14:29:41,289][WARN ][o.e.x.s.t.n.SecurityNetty4HttpServerTransport] [9rTGh-y] caught exc ...

  5. java nio 强制关闭_Java NIO服务器:远程主机强迫关闭了一个现有的连接

    Java NIO聊天室 中,若客户端强制关闭,服务器会报"java.io.IOException: 远程主机强迫关闭了一个现有的连接.",并且服务器会在报错后停止运行,错误的意思就 ...

  6. 远程计算机强迫关闭一个连接,远程主机强迫关闭了一个现有的连接。

    org.apache.catalina.connector.ClientAbortException: java.io.IOException: 远程主机强迫关闭了一个现有的连接. at org.ap ...

  7. es远程主机强迫关闭了一个现有的连接

    Caused by: java.io.IOException: 远程主机强迫关闭了一个现有的连接.     at sun.nio.ch.SocketDispatcher.read0(Native Me ...

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

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

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

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

最新文章

  1. Tomcat windows下安装
  2. Metasploit-MS17-010利用
  3. Openxml: 导出excel 设置 cell的格式
  4. 安全密码存储–请勿做的事和Java示例
  5. 父类调用子类中的方法
  6. 高效 Java Web 开发框架 JessMA v3.2.1 正式发布
  7. ★LeetCode(17)——电话号码的字母组合(JavaScript)
  8. 2018SDIBT_国庆个人第七场
  9. 关于网络安全检查的问题
  10. paip.c#图片裁剪
  11. 哈希函数 英语单词_使用Hash表实现英文单词表并实现单词查询操作
  12. Ubuntu系统打不开windows磁盘文件
  13. 故宫的首夜,一票难求,网站遭“围攻”宕机
  14. JavaScript系列之去掉字符串前后的空格
  15. 《VR/AR技术与应用》笔记 001
  16. 知乎-知乎网站-复制文字-破解知乎复制
  17. ,片片鳞甲都烁烁生辉
  18. 电脑游戏业编年史之十二──叛逆
  19. 写一份三年经验的Java简历
  20. 威客witkey扫盲

热门文章

  1. android开发自定义键盘,如何制作Android自定义键盘?
  2. 微软明年停止支持IE浏览器 鼓励使用Edge浏览器
  3. 深度学习之语义分割unet算法解读
  4. 从“零”开发一款知识图谱应用产品
  5. cartographer中分支定界法理解——为什么能保证上界
  6. LeetCode 字符串(简单题)
  7. DCOS到底是啥?看完这篇你就懂了~
  8. 基于 Matlab的录屏软件
  9. netsh interface portproxy本地ip与端口映射及本地虚拟ip(windows)
  10. C语言语句篇-------赋值语句