如何解释Socket中的保活机制和踢出用户机制?
王思明 2015-05-25 09:32:42
1.首先TCP是长连接,连接后正常情况下是不会无故断开的,但是由于路由,以及防火墙等原因的存在,会踢出长时间没有数据交换的连接,所以要有一个保活机制,发送心跳包
或者设置
e.AcceptSocket.IOControl(IOControlCode.KeepAliveValues, _keepAliveOptions, null);
2.
a.在连接没有关闭的情况下客户端异常退出,服务端还要维持这样一个连接就比较浪费,所以要踢出;
b.踢出几分钟内没有交互的连接
问题:如何去理解这两种关系??