简介

传输控制协议(Transmission Control Protocol)

建立连接(三次握手)

第一次握手是客户端发送消息给服务端,服务端接收到客户端发送的消息。
第二次握手是服务端回复客户端已经接收到的消息,客户端也接收到服务端回复的消息。
第三次握手是客户端回复服务端接收到回复的消息,服务端接收到客户端反馈的结果。

Why

第一次握手,服务端确认客户端发送消息正常。
第二次握手,客户端确认服务端发送接收消息正常。
第三次握手,服务端确认客户端接收消息正常。
所以,由此三次握手双方都能确认接收和发送消息功能是否正常

断开连接(四次挥手)

第一次挥手,客户端确发送断开连接请求给服务端,服务端接收到。
第二次挥手,服务端响应客户端发送的断开连接请求,客户端接收到。
第三次挥手,服务端发送断开连接请求给客户端,客户端接收到。
第四次挥手,客户端响应服务端发送的断开连接请求,服务端接收到。

Why

第一次挥手,是客户端主动确认断开连接,并中断数据的发送。
第二次挥手,是服务端确认客户端的请求,告知客户端我已收到
第三次挥手,是服务端主动确认断开连接,并中断数据的发送。
第四次挥手,是客户端确认服务端的请求,告知服务端我已收到。
只有经历四次挥手,才能确认客户端和服务端双方都没有了数据发送,此时就会断开连接。

每天一道面试题一谈谈TCP建立连接和断开连接的过程相关推荐

  1. TCP建立连接和断开连接流程

    [转]http://blog.csdn.net/gamekit/article/details/53888674 一.基本描述 TCP协议为提供面向连接的服务,需要先建立连接,然后才可以通信,通信结束 ...

  2. mysql的tcp链接过程_tcp建立连接和断开连接过程

    在之前对TCP协议的介绍中,说到了其中它的一个特点是面向连接.今天就来介绍一下它的连接和断开过程. 面向连接指的是采用TCP协议通讯,在数据传输之前必须先建立连接,通讯完成之后,必须关闭连接. 建立连 ...

  3. TCP建立连接与断开连接的过程

    在CS模式的TCP连接建立过程中,客户端与服务器端流程如下: 客户端流程:发送请求->接收服务器端确认->发送对服务器端确认的确认. 服务器端流程:接收客户端的连接建立请求->发送确 ...

  4. TCP建立连接和断开连接图解

    参考博客: http://blog.csdn.net/whuslei/article/details/6667471 http://www.2cto.com/net/201310/251896.htm ...

  5. TCP建立连接和断开连接的过程

    一. TCP建立连接- 三次握手 1. 客户端向服务器端发送syn包,进入syn_send状态,等待服务器的回复 2. 服务器端收到客户端发送的syn包,发送syn_ack包给客户端,进入syn_re ...

  6. TCP四次挥手断开连接

    四次挥手的流程 1.主动关闭方发送FIN连接释放报文段 客户端调用 close 方法,告诉服务器自己要主动关闭连接,会发送一个 FIN 报文给服务端,客户端进入FIN-WAIT-1状态. 2.被动关闭 ...

  7. 图解TCP四次握手断开连接

    建立连接非常重要,它是数据正确传输的前提:断开连接同样重要,它让计算机释放不再使用的资源.如果连接不能正常断开,不仅会造成数据传输错误,还会导致套接字不能关闭,持续占用资源,如果并发量高,服务器压力堪 ...

  8. [Qt] TCP客户端与服务器断开连接自动重联机制

    TCP服务器断开连接自动重联机制 客户端加入定时器实现断线重联(客户端服务端代码见上一篇博客) 编译环境:Qt 5.9.5 ui界面如图: 代码如下 tcpclient.h #ifndef TCPCL ...

  9. 为什么tcp不采用停等协议_为什么TCP建立连接协议是三次握手,而关闭连接却是四次握手呢?...

    看到了一道面试题:"为什么TCP建立连接协议是三次握手,而关闭连接却是四次握手呢?为什么不能用两次握手进行连接?",想想最近也到金三银四了,所以就查阅了相关资料,整理出来了这篇文章 ...

最新文章

  1. 安卓下使用 dropbear 开启SSH And arm 下的busybox
  2. 自考总结-2019-4-14
  3. pytorch tensorboard
  4. python爬虫详细步骤-Python爬虫实践入门,超详细
  5. 天津理工大学c语言上机报告3,天津理工大学-c语言上机报告4.pdf
  6. 晶晶赴约会(信息学奥赛一本通-T1049)
  7. 没有弃用 Sun 拥抱 HP/Linux,亚马逊或已倒闭!
  8. [Java]jvm参数选项中文文档
  9. Win8 64位系统最简单的adb安装方法
  10. 如何在Android中设置铃声+震动
  11. 在 ReactNative 的 App 中,集成 Bugly 你会遇到的一些坑
  12. 深度学习:概述和一孔之见 浅谈深度学习中潜藏的稀疏表达
  13. BUUCTF笔记之Misc系列部分WriteUp(一)
  14. 安全标准ISO 17799/27001
  15. Si24R2F+超低功耗高性能2.4GHz无线射频NTC测温单发射芯片 兼容Si24R2E
  16. 台式计算机截图快捷键,台式电脑怎么用快捷键截图
  17. 为什么使用vi /etc/sysconfig/network-scripts/ifcfg-ens33打开的编辑器是空的?
  18. 浙江科技学院c语言考试试卷,浙江科技学院c语言-1-C试卷A.doc
  19. 新唐MCU资料的寻找方法
  20. 如何在数据分析工作中找准自己的角色和定位?

热门文章

  1. 使用Java编写Hive的UDF实现身份证号码校验及15位升级18位
  2. 爱快软路由NAT-VMware-esxi-vsphere-虚拟机共享上网
  3. 2023年华数杯数学建模B题思路以及源码
  4. gitlab企业微信webhook机器人
  5. 期刊论文格式要求笔记
  6. 本地浏览器访问tensorboard或者tensorboardX
  7. mac npm install XX权限权限报错的完美解决方法
  8. 当前安全设置不允许下载该文件
  9. 一个关于C语言程序指针的用法(其中之一·)
  10. Arduino温度传感器之继电器控制风扇