客户端程序怎么识别服务器的突然断线?

[复制链接]
查看11 | 回复8 | 2021-1-27 06:05:15 | 显示全部楼层 |阅读模式
我目前用MFC做一个客户端,正常情况下收发包正常,可是服务器突然断线的话,客户端的FD_ISSET就会不断有动作识别,recvform里面看不到包内容,求高手指点
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:05:15 | 显示全部楼层
recvfrom返回码关注一下
回复

使用道具 举报

千问 | 2021-1-27 06:05:15 | 显示全部楼层
用返回值判断。api返回的值
回复

使用道具 举报

千问 | 2021-1-27 06:05:15 | 显示全部楼层
心跳包也可以吧
回复

使用道具 举报

千问 | 2021-1-27 06:05:15 | 显示全部楼层
引用楼主huangzwin的回复:我目前用MFC做一个客户端,正常情况下收发包正常,可是服务器突然断线的话,客户端的FD_ISSET就会不断有动作识别,recvform里面看不到包内容,求高手指点
使用应答机制
回复

使用道具 举报

千问 | 2021-1-27 06:05:15 | 显示全部楼层
引用4楼笨笨仔的回复:Quote: 引用楼主huangzwin的回复:
我目前用MFC做一个客户端,正常情况下收发包正常,可是服务器突然断线的话,客户端的FD_ISSET就会不断有动作识别,recvform里面看不到包内容,求高手指点

使用应答机制

能具体点吗,大概给个思路,谢谢
回复

使用道具 举报

千问 | 2021-1-27 06:05:15 | 显示全部楼层
引用2楼oyljerry的回复:用返回值判断。api返回的值
api指的是recvfrom函数吗
回复

使用道具 举报

千问 | 2021-1-27 06:05:15 | 显示全部楼层
心跳包检测服务器在线状态
回复

使用道具 举报

千问 | 2021-1-27 06:05:15 | 显示全部楼层
在客户端启动一个定时器,然后在定时器中定时跟服务器进行信息的发送和确认
如果连续超过比如3次或者5次都没有应答信息回复,就可以初步认为有问题了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行