TCP为什么三次握手以及服务端如何知道客服端异常断开
来源:互联网 发布:分水岭算法实现过分割 编辑:程序博客网 时间:2024/05/16 07:48
1=.
[1]TCP的三次握手最主要是防止已过期的连接再次传到被连接的主机。
如果采用两次的话,会出现下面这种情况。
比如是A机要连到B机,结果发送的连接信息由于某种原因没有到达B机;
于是,A机又发了一次,结果这次B收到了,于是就发信息回来,两机就连接。
传完东西后,断开。
结果这时候,原先没有到达的连接信息突然又传到了B机,于是B机发信息给A,然后B机就以为和A连上了,这个时候B机就在等待A传东西过去。
[2]三次握手改成仅需要两次握手,死锁是可能发生
考虑计算机A和B之间的通信,假定B给A发送一个连接请求分组,A收到了这个分组,并发送了确认应答分组。按照两次握手的协定,A认为连接已经成功地建立了,可以开始发送数据分组。可是,B在A的应答分组在传输中被丢失的情况下,将不知道A是否已准备好,不知道A建议什么样的序列号,B甚至怀疑A是否收到自己的连接请求分组。在这种情况下,B认为连接还未建立成功,将忽略A发来的任何数据分组,只等待连接确认应答分组。而A在发出的分组超时后,重复发送同样的分组。这样就形成了死锁
2.
使用心跳机制,客户端每隔一端时间向服务端发送心跳包,如果隔一段时间,服务端没有收到,表示客户端断开连接
0 0
- TCP为什么三次握手以及服务端如何知道客服端异常断开
- TCP三次握手四次断开
- TCP三次握手 四次断开
- TCP三次握手四次断开
- 【网络基础】TCP三次握手以及四次断开原理
- TCP为什么三次握手
- TCP 三次握手连接&四次握手断开
- TCP三次握手,为什么是三次握手
- 什么是TCP 三次握手及为什么进行三次握手? TCP的可靠性传输是如何保障
- TCP的三次握手与四次断开
- TCP/IP协议三次握手及断开
- tcp三次握手和四次断开概要
- TCP的三次握手和四次挥手以及为什么
- TCP为什么需要三次握手
- TCP为什么要三次握手
- TCP为什么要三次握手
- TCP为什么是三次握手
- TCP为什么需要三次握手
- ubuntu16.04 server 无法联网
- Ubuntu安装Sublime-text-3
- Docker 集群监控平台---cAdvisor-InfluxDB-Grafana
- 网络连接复用不得回避的一个关键问题:谁先发起请求:
- 自定义过滤器
- TCP为什么三次握手以及服务端如何知道客服端异常断开
- Android程序入口,Looper、MessageQueue、Handler之间的关系
- Android 属性动画(Property Animation) 完全解析 (下)
- 异步:Promise
- Android之Handler在新线程中处理消息
- QT中设置构建步骤
- 概念运用:标记
- 软件测试基础——软件测试概念
- JVM学习笔记(二)JVM判断对象是否”存活”