1 / 3
文档名称:

心跳函数.doc

格式:doc   大小:24KB   页数:3页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

心跳函数.doc

上传人:zbfc1172 2018/9/14 文件大小:24 KB

下载得到文件列表

心跳函数.doc

文档介绍

文档介绍:偶来凑凑热闹。
    前些日子,和群里面的兄弟讨论过这个问题,为此,还说了另外的一些话题,比如三次握手,滑动窗口,消息边界,心跳函数之类。如果不清楚的,请补****一下相应的知识吧,这可是底层原理,不清楚,自然不晓得为什么,客户端异常断开,服务器端侦测不到。
    从根源上说,这是由于TCP协议的问题。TCP协议的初衷是: 网络中断时,仍能维持通信的能力。美国国防部要求能在遭到核打击或其它灾害的时候,仍然能维持计算机之间可靠的网络通知协议。呵呵,如果客户端断开,服务器就马上释放连接。还维持什么?和初衷不符吧。要搞清楚客户端断开,为什么服务器端不能立即侦测到。这个问题,必须要理解三次握手机制。当然服务器也能侦测到异常断开,KEEPALIVE的默认时间是2小时哟。
   详细的TCP三次握手机制:
   客户端发送一个带SYN位的请求,向服务器表示需要连接,假设请求序号号为 SYN = 10, ACK=0
   服务器接收到这样的请求后,查看是否在LISTEN的是指定的端口,不然,就发送RST=1应答,拒绝建立连接。如果接收连接,那么服务器发送确认,SYN为服务器的一个内码,假设为100,ACK位则是客户端的请求序号加1,本例中发送的数据是:SYN=100,ACK=11,用这样的数据发送给客户端。
    客户端发送确认建立连接的消息给服务器。确认信息的SYN位是服务器发送的ACK位,ACK位是服务器发送的SYN位加1 。
    如果TCP连接第三次握手中,用户向服务器发送了一个SYN后就掉线了(第一步)。服务器发出SYN+ACK应答报文(第二步)。然后就再也无法收到客户端的ACK报文的。这种情况下,服务器就不断的重试,(再次发送SYN+ACK给客户端),直到超时。注意:服务器是接收到SYN请求就立即与客户端建立连接,而是先为连接请求分配内存空间,建立会话,并放到一个等待队列中。如果,这个等待的队列已经满了,那么,服务器就不在为新的连接分配任何东西,直接丢弃新的请求。这就是服务器的拒绝服务了。
    因此,如果有人写一个恶意程序来试试你的Borland socket server,后果实在不敢去想。知道了问题的原因,也就能找出解决办法。解决办法就是用心跳函数。
    在TCP中有一个Keep-alive的机制可以检测死连接,原理很简单,TCP会在空闲了一定时间后发送数据给对方:
    ,对方就会响应ACK应答,就认为是存活的。
    ,但应用程序退出,对方就发RST应答,发送TCP撤消连接。
    ,但应用程序崩溃,对方就发FIN消息。
    , rst,继续发送直到超时,就撤消连接。这个时间就是默认
      的二个小时。
    用keep_alive可以检测死连接,并撤消连接。但是是不是我们希望的呢?可能是,可能不是。有时可能我们希望重新通过另一个连接,来实现系统正常运转。
   keep_alive实现:
   type
 TCP_KeepAlive = record
   OnOff: Cardinal;
   KeepAliveTime: Cardinal;
   KeepAliveInterval: Cardi

最近更新

2024年村互助工作总结7篇 25页

HIV-1 Nef基因的克隆、表达及其核酸疫苗的实验.. 2页

2024年未军训心得体会最新8篇 13页

HBSL勘测设计院绩效管理研究的中期报告 2页

2024年有关青年教师成长总结优秀范文3篇 9页

GT公司知识型员工激励问题及对策研究的中期报.. 2页

2024年有关故事的作文600字5篇 8页

GPS约束下同震及震后位移场的三维有限元模拟分.. 1页

2024年有关努力的演讲稿5篇 9页

2024年有关于米的活动教案精选5篇 10页

Godel语言编译系统中实现计算可视化的中期报告.. 2页

2024年月活动策划方案6篇 12页

精选工业除湿机说明书新 8页

GD公司库存控制优化策略研究的中期报告 2页

GAS、SS在重型颅脑损并急性胃粘膜病变中的动态.. 2页

2024年最新有关致敬袁隆平的演讲稿优秀参考范.. 6页

2024年最新有关《中国哲学简史》读后感优秀范.. 9页

FQ商业园区房地产开发工程质量控制体系研究的.. 3页

ForCES通道中组播与事务管理研究的中期报告 1页

工程量施工合同 5页

2024年最新关于控烟的工作总结简短范文3篇 5页

工作协议书和工作合同 工作协议书算不算劳务合.. 40页

2024年最新关于元旦活动总结实用范文4篇 7页

2024年最新关于优秀党员事迹材料精选范文5篇 13页

EY集团企业文化建设研究的任务书 2页

2024年最新20高中教学工作计划精选优秀示例5篇.. 14页

匹克球知识讲座 24页

2024年翻译市场调研报告 32页

儿童预防接种查验合格证明 3页

国家产业计量测试中心 96页