免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: linuxxinetd
打印 上一主题 下一主题

请教如何判断socket客户端断开 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-08-22 10:06 |只看该作者
心跳测一下。。。。

论坛徽章:
0
12 [报告]
发表于 2007-08-22 10:09 |只看该作者
原帖由 yulc 于 2007年8月21日 23:34 发表


服务器的收线程的 recv函数会返回0

返回0确实不能说明客户端断开连接,因为有可能客户端发送长度为零的数据。

刚才测了一下,发现我错了,因为不客户端套接字不关闭,服务器是不会接受的。

[ 本帖最后由 hohoxu_hao115 于 2007-8-22 10:20 编辑 ]

论坛徽章:
0
13 [报告]
发表于 2007-08-22 17:15 |只看该作者
原帖由 yulc 于 2007-8-22 09:44 发表



谁这么告诉你的, 抽他.

我做了测试 ,是对的,客户端主动断开的话,recv是会返回0的.但好像还有一个前提是要在阻塞模式下才行

[ 本帖最后由 linuxxinetd 于 2007-8-22 17:34 编辑 ]

论坛徽章:
0
14 [报告]
发表于 2011-08-04 09:04 |只看该作者
我用心跳机制来防止拔网线这中情况
client每间隔M秒发一个心跳包给server
若连续N秒server端没有收到clie ...
zhongfangqing 发表于 2007-08-21 20:10



    客户端如何知道server段没有收到client端发送的心跳包呢???

论坛徽章:
0
15 [报告]
发表于 2011-08-04 09:09 |只看该作者
补充一下:客户端只有在知道server端没有收到client端发送的心跳包的情况下,然后试图connect到server的。
我的意思是server端不是我们可以控制,可以控制的只有client端

论坛徽章:
0
16 [报告]
发表于 2011-08-04 09:37 |只看该作者
心跳包比较影响效率,我觉得应该像ftp那样,如果客户端超过一定的时间没有上传或者下载,那么就认为是断开连接。

论坛徽章:
0
17 [报告]
发表于 2011-08-04 10:41 |只看该作者
你这个应该是server端的判断吧。如果在client端,怎么去判断自己是否断开server呢??
一个就是用心跳包,你所说的超时也要有数据包的发送和接受吧,不然你怎么知道超时呢?,这个应该就是心跳包的作用吧

论坛徽章:
0
18 [报告]
发表于 2011-08-04 14:06 |只看该作者
这个要顶

论坛徽章:
0
19 [报告]
发表于 2011-08-04 14:16 |只看该作者
返回0确实不能说明客户端断开连接,因为有可能客户端发送长度为零的数据。

刚才测了一下,发现我错了, ...
hohoxu_hao115 发表于 2007-08-22 10:09



    帅哥,能够说的更清楚一点不?

论坛徽章:
15
射手座
日期:2014-11-29 19:22:4915-16赛季CBA联赛之青岛
日期:2017-11-17 13:20:09黑曼巴
日期:2017-07-13 19:13:4715-16赛季CBA联赛之四川
日期:2017-02-07 21:08:572015年亚冠纪念徽章
日期:2015-11-06 12:31:58每日论坛发贴之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-08-04 06:20:00程序设计版块每日发帖之星
日期:2015-07-12 22:20:002015亚冠之浦和红钻
日期:2015-07-08 10:10:132015亚冠之大阪钢巴
日期:2015-06-29 11:21:122015亚冠之广州恒大
日期:2015-05-22 21:55:412015年亚洲杯之伊朗
日期:2015-04-10 16:28:25
20 [报告]
发表于 2011-08-08 11:00 |只看该作者
我写了一个socket的客户端和服务器端,请问服务器端如何判断客户端已经断开连接了
linuxxinetd 发表于 2007-08-21 19:09



    errno=104.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP