问题描述
- TCP心跳机制--Server踢出僵死连接的问题
-
TCP的Server端定时接收Client的心跳,在Server端发现Client在8秒内没有心跳发过来,就断开这个连接。问题是:Server同时有上万个TCP连接,不可以用遍历的方法,怎样找到僵死连接(即超时客户端)?
解决方案
为什么不用遍历方法,肯定要用遍历方法啊,不论上层是什么方法,底层肯定都是遍历。要相信计算机运算速度,你的上万个tcp连接,cpu估计用不了100毫秒就遍历完了。
解决方案二:
你获取到的超时对象中设置一个id,然后建一个map,id->socket
然后再查找map来剔除socket
时间: 2024-12-03 23:33:06