TCP心跳包的必要性

xiaolomg 2012-10-07 11:30:26
既然TCP是面向连接的,如果一方关闭连接,一般要发送FIN给对方;另一方会收到FIN啊,进入常规的close;
那为什么还需要心跳包检测是否断开呢?
如果偶的理论有问题,请拍砖,请灌水,
...全文
418 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Geoff08Zhang 2012-10-08
  • 打赏
  • 举报
回复
心跳的作用是检测:
1. 对方非正常关闭,程序崩溃、系统重启等;
2. 网络中断、路由器出问题。
youngwolf 2012-10-08
  • 打赏
  • 举报
回复
意外时可能收不到闭关消息,或者非常的滞后,比如对方断电,死机什么的。
jwybobo2007 2012-10-08
  • 打赏
  • 举报
回复
网线断了,断电,中间路由出问题挂了,等等等。。。
wubinyang 2012-10-08
  • 打赏
  • 举报
回复
是这样,客户端与服务端如果意外断链,即线路出现问题,如果没有心跳报文,就不能发现是否链路断开,而你之前说的一般要发送FIN给对方,这个是线路没问题的情况下,服务端的进程挂断,或者端口异常造成的。求给分吧
邓学彬 2012-10-08
  • 打赏
  • 举报
回复
意外死亡、突然死亡的,可没办法告诉别人"我要死了"






Eleven 2012-10-08
  • 打赏
  • 举报
回复
异常断开的时候就不会了

18,356

社区成员

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

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