长连接和短连接
一.TCP的通信流程
在TCP双方通信之前,需要通过”三次握手”建立一条连接。连接建立以后双方就可以进行数据交互了,当数据交互完成以后还需要通过”四次挥手”断开连接。这是TCP通信的一般流程
每个连接的建立都是需要资源消耗和时间消耗的,正是考虑到资源消耗和时间问题,才有了TCP短连接和长连接机制。
二.TCP短连接
首先看下TCP短连接的情况:
- client 向 server 发起连接请求
- server 接到请求予以相应和确认,双方建立连接
- client 向 server 发送消息
- server 回应 client
一次读写完成,此时双方任何一个都可以发起 close 操作,一般都是 client 先发起 close
操作流程:
建立连接 -> 数据传输 -> 关闭连接………………..建立连接 -> 数据传输 -> 关闭连接
应用场景:
WEB网站面向客户,通常是成千上万客户端去访问,这时候用短链接会更省资源一些。
三.TCP长连接
下面再看看TCP长连接的操作流程:
- client 向 server 发起连接
- 一次读写完成,连接不关闭
- 后续读写操作…
操作流程:
建立连接 -> 数据传输…(保持连接)…数据传输 -> 关闭连接
应用场景:
Mysql数据库客户端的操作就是长链接,链接后可以一直进行操作传输数据。
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
2018-11-27 kubernetes Dashboard 使用RBAC 权限认证控制
2017-11-27 CENTOS 6.6初始化SHELL脚本