|
|
1
5
唯一的另一种选择是,如果是TCP,则让TCP每隔一段时间发送一次keep-alive,这仍然是轮询,比如你现在在做什么,但在TCP层处理,所以你的协议不需要知道。
|
|
|
2
3
您可以使用以下方法查找客户端是否仍处于连接状态。这
这 answer 用于测试套接字,这就是我获得代码片段的方式。 |
|
|
3
0
你对客户有控制权吗?如果是这样,你不能让客户端向服务器发送一个特殊的数据包,说它正在断开连接,然后断开套接字吗? 您是否试图检测客户端实际断开连接的情况(使用Socket.Shutdown()或Socket。Close())或者客户端是否长时间处于空闲状态,因此需要被弹出?
|