如何通过ACE检测客户端已经断线??急!!!
大家好,我是做服务器的。代码是以前的主程写的,现在他不在我们公司干了,他使用了ACEA,对于ACE,我是一点都不明白。郁闷,他说ACE会自动检测客户端是否断线了。我不知道他是怎么实现的,请问有人知道么??或者说有别的办法代替么?? 通行的办法是心跳包来检测。TCP链接断开,是不会自动通知给程序的。回复 #2 winston 的帖子
谢谢,因为我刚入行不久。不大明白您说的是什么意思。您能具体的说说看么?? 用心跳包的话,会有一段时间的过程,总觉得不是很好,反应有些慢了。。。。 TCP的设计就是这样,可以参考相关的理论,因为检查断线要消耗网络资源,TCP意外断线,是不会通知你的。所以要自己做。想实时检测,是需要花费代价的。回复 #5 winston 的帖子
恩,谢谢,我明白了,不过我还想问问,除了心跳包的话,还有其他更好的办法么?? 没有,至少我没听说过。 关注...我也需要解决这个问题...目前客户端有 close()函数调用...服务器端可以接收到客户端断开的消息...
但是...如果客户端非正常退出的话...服务器就没办法挨了... 尽量友好的处理链接的关闭,这个很重要。
在异常断开的时候,要有判断的办法。 还是心跳包比较实用:) :)
页:
[1]
2