关于socket连接非正常中断,的判断处理的终极讨论
非正常中断的原因:
一端程序由于某种原因,长时间不能响应。
一端直接调用closesocket(),或者直接退出。
拔掉网线。
其它网络故障。
还有其他没想到的,欢迎大家补充。
在这些情况下,如何判断一个socket已经不可用。
用selece() 有用么
ioctrlsocket()呢?
非要用心跳包么?
问题点数:100、回复次数:5Top
1 楼Trashy(【叶落随风】)回复于 2004-12-03 12:50:49 得分 20
upTop
2 楼alec626(月吻长河Blog:spaces.msn.com/filebase)回复于 2004-12-03 12:51:18 得分 20
这个问题已经有几百个帖子讨论过了!
Socket正常中断可以用过RECV的返回值判断
还有其他很多方法。
异常断开的检测方法很少,一般用HeartBeat.Top
3 楼Caps77(厉兵秣马)回复于 2004-12-03 15:02:17 得分 20
终极讨论....Top
4 楼ydfok(发芽的石头)回复于 2004-12-03 15:28:36 得分 20
估计有1W个帖子讨论过了
:)Top
5 楼weiziyuner(烂人)回复于 2004-12-03 15:35:49 得分 20
HeartBeat.
个人感觉心跳包比较可靠Top




