社区
通信技术
帖子详情
怎样让Server迅速得知Client端断开了连接?
runbuff
2001-03-06 12:33:00
我在局域网上利用WinSock编程,操作系统为Windows9X。现有一个问题求教:当Server端与Client连接好后,Server端有没有什么好的办法,在Client端断开了连接(如关机、断电、用Close主动断开等等),很快(3秒左右)就得知这一事件?
...全文
195
4
打赏
收藏
怎样让Server迅速得知Client端断开了连接?
我在局域网上利用WinSock编程,操作系统为Windows9X。现有一个问题求教:当Server端与Client连接好后,Server端有没有什么好的办法,在Client端断开了连接(如关机、断电、用Close主动断开等等),很快(3秒左右)就得知这一事件?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
runbuff
2001-03-06
打赏
举报
回复
server兄:你的意思是要在每3秒内就要select试一下吗?
server
2001-03-06
打赏
举报
回复
用select即检测client sock 号的读写状态,又可设延迟,具体请查阅select函数
server
2001-03-06
打赏
举报
回复
int result ;
fd_set fdset;
struct timeval recvdelay = {3,0};
FD_ZERO(&(fdset));
FD_SET(sock,&(fdset));
result = select(0,&(fdset),NULL,NULL,&recvdelay);
if(result <=0)
// client timeout or some socket error
else
// now can recv
ivanlee_cn
2001-03-06
打赏
举报
回复
是用UDP和对方建立一个连接。
L(udp):SND A1(4BYTE的任意数值).
R(udp):RCV A1 -> SND A1
L(udp):RCV A1 ->CMP RCV_A1 AND SND_A1 if same then link content.else link off.
...
(some time)
R(udp):Timeout(3 second) But RCV nothing ,the link off.
zookeeper感知服务器上下线demo
资源内分为
client
和
server
用cmd启动
client
新开启cmd,启动多个
server
,然后看
client
的效果即可。
心跳机制原理及其实现
基于WindowsSocket的网络通信中的心跳机制原理及其实现
基于tcp的聊天室C++代码
基于tcp的聊天室C++代码
springboot-netty-websocket
springboot-netty-websocket
08、 Zookeeper部署及典型应用 作业
Zookeeper部署及典型应用
通信技术
4,391
社区成员
28,906
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章