长连接 | 短连接 | |
浅聊背景 |
| |
定义 | 在一个连接上可以连续发送多个数据包 | 在数据传送过程中,只在需要发送数据时,才去建立一个连接,数据发送完成后,则断开此连接 |
原理 [TCP层] | 整个通讯的过程client和server只用一个Socket,在一个连接上可以进行多次请求响应 | 每次client向Socket发送请求都会新建一个Socket |
优势 | 服务端与客户端可以更实时的进行消息交互 在多次通信中可以省去连接建立和关闭连接的开销,并且从总体上来看,进行多次数据传输的总耗时更少 | 管理起来比较简单,存在的连接都是有用的连接,不需要额外的控制手段 |
缺点 | 需要花费额外的精力来保持这个连接一直是可用的 1)资源消耗:长时效Ping/Pong带来的流量影响、CPU消耗 2)保底方案:存在bug的关停策略,心跳衰减,重连衰减
| 每个连接都需要经过三次握手的过程,耗时大大增加 |
使用场景 | 并发量小时频繁操作,多次请求的网络应答响应,而且是一对一,点对点的通信
| 并发量大,但每个用户无需频繁操作
|
现有技术 |
| HTTP1.0 |
长连接&短连接
于 2022-07-14 18:43:08 首次发布