求教socket通信时,心跳检查问题。。
时间:2010-06-29
来源:互联网
请教一下关于心跳检查的问题。
我最近使用到SOCKET,我写了个client 端和服务端的程序,我测试发现,在关闭client端时,服务端不停的read到长度为0的消息,同时netstat -an发现close_wait,
我教高手们一下:
1.如果关闭了client端,服务端怎么测出是对方已经关闭了而不是其它的错误?我通过select发现,返回还是1.
2.我在连接正常的时候把网线拔掉,这个时候client阻塞在write上,server端阻塞在read上,同时netstat -an 发现还是正常连接。请教下这时怎么可以检测通信已断呢?
3.我在网上查到在应用层使用心跳检测可以,我想请教下这种应用层心跳检测的模型是什么样的,具体怎么实现?
谢谢,希望可能得到详细的指点。
我最近使用到SOCKET,我写了个client 端和服务端的程序,我测试发现,在关闭client端时,服务端不停的read到长度为0的消息,同时netstat -an发现close_wait,
我教高手们一下:
1.如果关闭了client端,服务端怎么测出是对方已经关闭了而不是其它的错误?我通过select发现,返回还是1.
2.我在连接正常的时候把网线拔掉,这个时候client阻塞在write上,server端阻塞在read上,同时netstat -an 发现还是正常连接。请教下这时怎么可以检测通信已断呢?
3.我在网上查到在应用层使用心跳检测可以,我想请教下这种应用层心跳检测的模型是什么样的,具体怎么实现?
谢谢,希望可能得到详细的指点。
作者: sum_cn 发布时间: 2010-06-29
收发心跳包+超时检查。
作者: 没本 发布时间: 2010-06-29
1.如果关闭了client端,服务端怎么测出是对方已经关闭了而不是其它的错误?我通过select发现,返回还是1.
recv 返回0 对端正常关闭, recv 返回-1 对端异常关闭,
2.我在连接正常的时候把网线拔掉,这个时候client阻塞在write上,server端阻塞在read上,同时netstat -an 发现还是正常连接。请教下这时怎么可以检测通信已断呢?
你的是什么机器 拔的是哪端的网线 按道理说网线掉了 网卡应该能检测到, 是对端检测不到, 你把路由去掉或者中间交换机 路由器 掉了 可能两端都不知道, 但是这样实际没有问题, 网络恢复了 继续用. 通过心跳包检测.
recv 返回0 对端正常关闭, recv 返回-1 对端异常关闭,
2.我在连接正常的时候把网线拔掉,这个时候client阻塞在write上,server端阻塞在read上,同时netstat -an 发现还是正常连接。请教下这时怎么可以检测通信已断呢?
你的是什么机器 拔的是哪端的网线 按道理说网线掉了 网卡应该能检测到, 是对端检测不到, 你把路由去掉或者中间交换机 路由器 掉了 可能两端都不知道, 但是这样实际没有问题, 网络恢复了 继续用. 通过心跳包检测.
作者: qianhulou 发布时间: 2010-06-29
你的是什么机器 拔的是哪端的网线 按道理说网线掉了 网卡应该能检测到, 是对端检测不到, 你把路由去掉或者中间交换机 路由器 掉了 可能两端都不知道, 但是这样实际没有问题, 网络恢复了 继续用. 通过心跳包检测.
我没说清楚,,我是把网卡禁掉了。。
我知道心跳包具体是怎么实现的,我想知道具体模型?
我这样设想,不知道对不对。。
1.client端,定时发送包,同时在发送消息时,使用select定时,如果超时就认定了断开关闭套接字,重新连接。
2.server端,select定时接收,在read长度为0或者超时就认定是断了,断开关闭套接字,重新监听。
不知道是不是这样。
我没说清楚,,我是把网卡禁掉了。。
我知道心跳包具体是怎么实现的,我想知道具体模型?
我这样设想,不知道对不对。。
1.client端,定时发送包,同时在发送消息时,使用select定时,如果超时就认定了断开关闭套接字,重新连接。
2.server端,select定时接收,在read长度为0或者超时就认定是断了,断开关闭套接字,重新监听。
不知道是不是这样。
作者: sum_cn 发布时间: 2010-06-29
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28