您的位置:程序门 -> delphi ->



tidtcpserver与tidtcpclient连接,网络中间断线,两端的程序如何实时发现断线了???急


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


tidtcpserver与tidtcpclient连接,网络中间断线,两端的程序如何实时发现断线了???急[已结贴,结贴人:yaojp7519]
发表于:2007-10-07 09:29:09 楼主
我的问题是这样的。
客户端用indy的tidtcpclient,服务端用indy的tidtcpserver组件来实现网络通讯程序。
因为客户端和服务器端不是在一个局域网内的,中间经过了好几个路由器。
但是,由于网络不是很稳定,经常会出现中间的某个路由器断电了,或者死机了。
这时候,客户端和服务器端的程序还是认为socket是连接状态的,并且访问他们的active属性状态还是true,此时再发送数据对方就收不到了。
我的意思是有没有办法实现中间的路由器断了,我的两端程序马上就知道网络断了,也就是实时发现,发现后程序就不发送数据了,直接给出告警,这样可以及时提醒用户。这个是如何实现的??请各位大侠帮忙!!
发表于:2007-10-07 10:50:321楼 得分:12
即时发现是不可能的,也不现实的,技术上无法实现!
因为tcp本来就有超时机制,大约需要1-3分钟的时间才能发现
发表于:2007-10-07 12:59:542楼 得分:8
只能通过发包来测试连接,例如在连接情况下你拔掉网线并不会引发断开异常
发表于:2007-10-07 16:53:113楼 得分:0
楼上的,你说的发测试包是定时发测试包吗??发测试包是客户端和服务器端都发呢?还是只有一方发?


快速检索

最新资讯
热门点击