长连接与短连接、全双工与半双工,单工
长连接:
连接建立后,需要通过心跳继续维持连接,这样发消息的时候不用每次都建立连接。
通信的过程:建立连接 --> 数据传输 --> 维持心跳 --> 数据传输 --> --> 关闭连接。
相当于自己要维护一个心跳来确保客户端和服务端没有断开。
短连接:
连接建立后,检测到通信交互完毕,就会关闭连接。下次需要通信时,需要再次建立连接。
通信的过程:建立连接 --> 数据传输 --> 关闭连接。
比如银行业务通信,都是采用的短连接。
Tcp 的长连接和短连接
长连接:在Tcp握手成功后,不立即断开连接,在此连接上进行数据传输,心跳交互,直至客户端或服务端中的任一方主动断开连接,此过程称为长连接。Http1.1 相对于Http1.0 最重要的特性就是引入了长连接。
短连接:客户端在收到服务端的响应后,立刻发送FIN 消息,主动释放连接。当然也有服务端主动断开连接的情况。
Tcp keepalive(保活机制)
Tcp keepalive 通过定时发送 keepalive 探测包 来探测连接的对端是否存活。
一旦发送的探测包没有响应,在重复几次后,就会断开连接。
http keep-alive(是否复用tcp连接)
在http 1.0 的时候,每个http请求都要打开一个tcp socket 连接,并且使用一次之后就关闭这个tcp连接。
在http 1.1 之后,引入了keep-alive 请求头参数,可以通过这个参数控制在一次tcp 连接中可以持续发送多份数据而不会断开连接。这样就能复用tcp 连接,减少tcp连接建立的次数。
http 位于网络协议的应用层,tcp 位于网络协议的传输层。两者的keep-alive的作用是不一样的。http的keep-alive 主要是为了复用tcp连接,避免每次连接都建立tcp。tcp的keepalive主要是一种保活机制,检测对端是否依然存活。
根据通信双方的一个分工 以及 信息传输的方向,可以将通信分为三种方式:全双工,半双工和单工。
全双工(Full Duplex):
一条宽道,通信双方都可以相互发送信息,并且可以同时发送信息。典型的场景比如打电话
半双工(Half Duplex):
一条窄道,通信双方都可以相互发送信息,但是同一时刻只能有一方向另一方发送信息。典型的应用场景比如对讲机。
单工(Simplex):
单行道,通信双方只能有一方向另一方发送消息,典型场景比如打印机。
最近研究的netty 就是 异步全双工长连接通信。
长连接与短连接、全双工与半双工,单工相关推荐
- http长连接与短连接
一.长连接与短连接: 长连接:client方与server方先建立连接,连接建立后不断开,然后再进行报文发送和接收. 这种方式下由于通讯连接一直存在.此种方式常用于P2P通信. 短连接:Client方 ...
- Socket的长连接和短连接(很详细)
长连接与短连接 所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接,一般需要自己做在线维持. 短连接是指通信双方有数据交互 ...
- 跨进程通信,到底用长连接还是短连接
一个完整的软件系统大多数情况下是由多个进程共同协作进行的,哪怕它们在同一台服务器上.所以,进程之间如何进行高效的通信至关重要. 单个应用程序+单个数据库这套基础开发套餐我相信每个人都经历过,甚至在初期 ...
- 长连接、短连接、短轮询、长轮询
长连接.短连接.短轮询.长轮询 短连接:每次Http请求都会建立Tcp连接,管理容易 长连接:只需要建立一次Tcp连接,以后Http请求重复使用同一个Tcp连接,管理难 短轮询:重复发送Http请求, ...
- HTTP长连接和短连接以及推送服务原理(转)
HTTP长连接和短连接以及推送服务原理 转自:http://blog.csdn.net/freewaywalker/article/details/50067757 HTTP长连接和短连接1 1. H ...
- HTTP长连接和短连接 + Websocket
HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接.HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议.IP协议主要解决网络路由和寻址问题,T ...
- PHP tcp短链接,http请求怎样实现TCP长连接、短连接
HTTP连接分为长连接和短连接,而我们现在常用的都是HTTP1.1,因此我们用的都是长连接. 这句话其实只对了一半,我们现如今的HTTP协议,大部分都是1.1的,因此我们平时用的基本上都是长连接.但是 ...
- TCP长连接和短连接
2019独角兽企业重金招聘Python工程师标准>>> 1. TCP连接 当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操 ...
- HTTP长连接、短连接
1. HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接.HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议. IP协议主要解决网络路由和寻址 ...
最新文章
- 老张喝茶 教你同步异步 阻塞与非阻塞(转)
- 「镁客·请讲」嘿蘑法王亮:用VR给青年艺术家创造更多机会...
- python【蓝桥杯vip练习题库】ADV-181质因数2(短除法)
- 阿里云为澳门装上“城市大脑”
- WINCE5.0+S3C2440支持大容量SD卡(SDHC卡)
- CMD指令收集(持续)
- java可视化模板——java可视化操作步骤
- 不要错过这轮疫情的“洗牌”机会
- 计算机设备投标标书范本,OA办公自动化系统投标文件(标书范本)
- Selenium的一些技巧与错误处理
- windows下 Mysql 错误1067 Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
- .desktop 桌面快捷_两个按键:手机截屏且保存至电脑桌面
- CAN协议详解-01
- MATLAB实现一组随机点分成两组,每组随机点分别与一个特定点连线
- 分类模型的再考以及随机森林的应用
- 蚂蚁电竞ANT27VQ评测
- 手机PDF如何转图片格式
- c语言小写A对应数字,C语言ascII与数字转化的问题,值得新手看看
- 路由交换技术与路由交换技术基础知识
- edb的安装以及带参数使用
热门文章
- 射箭走进陆家嘴,学校、社区、商圈全覆盖!
- Ajax面试常见问题及答案
- 索贝4k信号采集服务器,浪潮联合索贝:软件定义存储AS13000服务世界杯
- 洛阳地铁一号线无人驾驶_洛阳超级拖拉机I号实现无人驾驶功能
- web:H5和小程序的区别
- 我的世界服务器维护多少钱,我的世界:一个服务器5年心血,如今却只剩下一则长长的公告...
- 初识互联网敏捷的三大支柱
- mysql 查询多级类别_SQL处理多级分类,查询结果呈树形结构
- 蓝桥杯 地宫寻宝 java_蓝桥杯 地宫寻宝 带缓存的DFS
- 再生龙 (Clonezilla)。比 Ghost更棒的、免费的、中文接口的 硬盘备份与还原