peakzhang 发表于 2008-1-17 18:45:49

如果检测网线断开?

在一对已建立TCP连接的通讯中,如果网线断开或被拔掉,客户端或服务端如何立即检测出?

peakzhang 发表于 2008-1-17 18:45:56

就我所知,只能使用心跳

peakzhang 发表于 2008-1-17 18:46:03

我的经验是,基本上不存在实时的检测办法,在windows上有些手段可以很快判断是否有网络连接存在,但也不是实时的。恐怕还是要自己在软件的网络处理里面想办法,增加检查手段。

peakzhang 发表于 2008-1-17 18:46:13

LZ为什么要检测网线断开呢?有什么特殊原因吗?如果服务器端与客户端之间不是直连,其中还有路由器或交换机等设备,单单检测网线断开有什么作用呢?在应用层应该关注的是会话层的TCP连接是否可用,而不是物理层的网线是否断开。

blackart 发表于 2008-7-29 15:39:35

碰到好多这样的需求,理由很简单,有些程序或组件或数据库连接等写的不好,网线断开后会把程序阻塞住,持续的时间会很长,造成其他错误和用户感觉软件死机了。这时需要提前检测到这种现象,做处理,这种现象和网络被防火墙限制还是不一样的,我指的是一些程序的对网络问题的反应不一样。

peakzhang 发表于 2008-7-29 22:08:35

那是程序写的太差。写的好才不会这样。
页: [1]
查看完整版本: 如果检测网线断开?