社区
通信技术
帖子详情
在TCP/IP Socket开发中,服务器如何能尽快得知某个客户端掉线了?
freegoal
2004-07-12 03:33:14
由于互联网并不稳定,服务器如何能尽快得知某个客户端掉线了?
我本来想通过send函数的错误码来得知,但是不行,我在局域网做了下面的试验:
服务器(Linux)每隔5秒给客户端发送一段数据(客户端不用答复的),在运行过程中将客户端(W2k)的“本地连接”禁用,客户端能马上得知连接中断啦,但服务端一直都在发送数据,并没有出现错误。
请问,这是怎么回事?服务器如何能尽快得知某个客户端掉线了?谢谢!
...全文
806
12
打赏
收藏
在TCP/IP Socket开发中,服务器如何能尽快得知某个客户端掉线了?
由于互联网并不稳定,服务器如何能尽快得知某个客户端掉线了? 我本来想通过send函数的错误码来得知,但是不行,我在局域网做了下面的试验: 服务器(Linux)每隔5秒给客户端发送一段数据(客户端不用答复的),在运行过程中将客户端(W2k)的“本地连接”禁用,客户端能马上得知连接中断啦,但服务端一直都在发送数据,并没有出现错误。 请问,这是怎么回事?服务器如何能尽快得知某个客户端掉线了?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
arvid_gs
2004-07-14
打赏
举报
回复
心跳检测
blueboynjupt
2004-07-14
打赏
举报
回复
最实用的是另开一条状态通道,传送心跳信息。这样一来不影响原来的数据通道,二来使得C和S之间彼此通晓对方的状态。
fengge8ylf
2004-07-14
打赏
举报
回复
客户端往服务器上发心跳包 服务器维护一个计数 每秒钟使这个计数增1同时检测这个计数是否大于一个值 大于的话则表明客户端异常关闭了 当服务器收到客户端发来的心跳包后就把这个计数置为0
sybsyb
2004-07-13
打赏
举报
回复
不用心跳检测
使用select等待socket事件时,如果recv返回0,代表客户端已断开连接
nicememory
2004-07-13
打赏
举报
回复
客户端发送比较合理
awjx
2004-07-13
打赏
举报
回复
心跳检测到底是客户端往服务器发数据还是
服务器向客户端发数据
个人理解都可以
但一般是采用哪种呢?。
cai3995
2004-07-13
打赏
举报
回复
use the setsockopt() function
the TCP protocol keep the connect statement by default setting
jiutian
2004-07-13
打赏
举报
回复
to sybsyb(苏永邦):
1。你这种方法只能检测TCP正常断链,但有些异常断链的情况是检测不出来的。
2。无法检测UDP连接。
to tccsdn(程序||乱码):
所谓心跳检测包客户端定时向服务器发包,服务器定时检测是否收到某一客户端的包,如果在某一段时间内(大于客户端发包的时间)都收不到,则认为该客户端已断开连接。
tccsdn
2004-07-12
打赏
举报
回复
心跳检测包 怎么实现??
jiutian
2004-07-12
打赏
举报
回复
最好是通过心跳检测包来验证一个连接是否正常。而且不管是TCP还是UDP连接,都可以进行处理。属于比较实用的方法。
Fly1980
2004-07-12
打赏
举报
回复
客户端不断的隔一段时间就往服务端发小数据以证明其在线.
服务端若超过时间还没收到数据就认为客户端断线了
Fly1980
2004-07-12
打赏
举报
回复
心跳检测
计算机网络2
TCP
/
IP
协议
对
TCP
/
IP
协议下的传输层(端口号、UDP、
TCP
)、网络层(
IP
)、数据链路层(以太网、ARP)、DNS和NAT进行了相关介绍。
TCP
/
IP
篇(又是一次整理
TCP
/
IP
)
文章目录计算机网络体系结构分层OSI 七层模型OSI 七层模型特性OSI 七层模型各层的功能特点IOS 七层网络模型与
TCP
/
IP
五层网络模型之间的对比
TCP
/
IP
五层模型数据包的封装和分用传输层
中
的
TCP
和 UDPUDP无连接不可靠面向数据报UDP 的缓冲区基于UDP 的应用层协议
TCP
确认应答机制超时重传机制连接管理关于连接管理的细节问题滑动窗口快重传(滑动窗口管理)流量控制拥塞控制延迟应答捎带应答面向字节流
TCP
粘包问题
TCP
异常情况SYN攻击是什么?
TCP
管理的4个不同的定时器为什么 T
【项目】基于
TCP
/
IP
的
socket
编程之心跳机制
什么是心跳机制? 想一下, 当
tcp
连接被破坏后, 如果是死连接了, 服务端和
客户端
怎样才能知道信息能不能到达对方呢? 很自然的想法是, 不断地给对方发探测信号, 看有没有回应, 这就是心跳机制的直白原理。 所谓的心跳即是数据包, 发心跳就是一方向另一方发送的数据包, 不断地发送, 如果收不到回应, 那么就有理由认为是
tcp
连接出了问题。 那为什么要叫心跳呢? 你摸一下你的心, 你看
TCP
/
IP
协议知多少
目录
TCP
/
IP
协议预备知识之传输层和端口号传输层:端口号源端口号与目的端口号端口号划分UDP协议主要特点应用场景
TCP
协议
TCP
可靠传输依赖的机制1、确认应答(ACK)机制2、超时重传3、连接管理机制
TCP
/
IP
协议 从字面意思上我们可能会以为
Tcp
/
IP
协议就是单纯的
TCP
、
IP
协议。然而在很多情况下,它只是利用
IP
进行通信所必须用到的协议群的统称。 预备知识之传输层和端口号 传输层:...
客户端
怎么判断
Socket
连接已与
服务器
断开
原文地址:http://blog.csdn.net/god2469/article/details/8801356 下面来罗列一下判断远端已经断开的方法: 法一: 当recv()返回值小于等于0时,
socket
连接断开。但是还需要判断 errno是否等于 EINTR,如果errno == EINTR 则说明recv函数是由于程序接收到信号后返回的,
socket
连接还是正常的,
通信技术
4,386
社区成员
28,916
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章