+ -
当前位置:首页 → 问答吧 → 大家如何处理TCP死连接的问题?

大家如何处理TCP死连接的问题?

时间:2010-08-28

来源:互联网

对于TCP服务端,对端网线断掉时服务端是不会马上知道的,这种情况会导致死连接。因为客户端程序不是我们写的,所以那种定时心跳的办法不可行。
想到两种办法:
(1)定时ping所有的连接,如果某个连接一直ping不通,则认为其已断开,关闭连接。
(2)通过keep alive办法。
不知道上述两种方法是否为通用做法,请问大家在设计TCP服务端时是如何处理这种情况的?

作者: chenaiming2009   发布时间: 2010-08-28

服务端定时发心跳,应答超时就认为已经断了

作者: hellioncu   发布时间: 2010-08-28

回复 hellioncu


    晕,我说了客户端程序是别的厂家写的,不可能通过这种定时发心跳的方式的

作者: chenaiming2009   发布时间: 2010-08-28

ping?你能保证客户端会应答?

作者: efolzl   发布时间: 2010-08-28

协议不完备啊

作者: cugb_cat   发布时间: 2010-08-28



QUOTE:
回复  hellioncu


    晕,我说了客户端程序是别的厂家写的,不可能通过这种定时发心跳的方式的
chenaiming2009 发表于 2010-08-28 23:19




    服务端是你的,协议不是你设计的?
不能改动协议的话只能设一个较长的时间,没有收到数据就认为断开吧,客户端被误断了应该会重连吧

作者: hellioncu   发布时间: 2010-08-28