【TCP关于测试网络状态的 心博包 的疑问?】

temp3000 2004-12-07 09:55:18
1.发心博包时怎么就判断网络通断的状况了?
根据send时出错?
还是双方的应答?比如send了对方没有应答算网络断?
需要考虑socket的block方式?
2.谁用FD_OOB写过心博包,能否提供一个写心博包的C/S程序框架?
把主要所有的函数标出即可。

谢谢。
...全文
110 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
poplau 2004-12-07
  • 打赏
  • 举报
回复
我准备这样写。大家看一下有没有什么问题
客户端发each,服务端回each.

客户端每15秒发一次each.至状态正在发送,接收后至正常,计数器清0。
发送each前检测状态,如果是0,则计数器加1。如果计数器等于3则选择closesocket.

对于服务端来说。
对每个连接开始至标志位0。
收到eaho包后状态至为0。
每隔15秒进行一次检查,将所有状态制++。如果状态为3则默认断掉

可以单独开一个线程来做。
oyljerry 2004-12-07
  • 打赏
  • 举报
回复
超时等错误
oyljerry 2004-12-07
  • 打赏
  • 举报
回复
等待返回,来判断
temp3000 2004-12-07
  • 打赏
  • 举报
回复
recv到一个什么错误?
huxzjqhh 2004-12-07
  • 打赏
  • 举报
回复
向对方发包,如果对方已经断开,本机会recv到一个错误。
temp3000 2004-12-07
  • 打赏
  • 举报
回复
我说的是网络异常断开
fengge8ylf 2004-12-07
  • 打赏
  • 举报
回复
判断网络通断分两种情况
1.正常关闭 可以根据recv的返回值判断
2.异常关闭 采用应答 一方发包 然后等待对方回应 如果在规定的时间内对方没有回应 则认为连接断开

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧