长连接和短链接的区别

article/2025/10/9 18:54:18

长连接意味着进行一次数据传输后,不关闭连接,长期保持连通状态。如果两个应用程序之间有新的数据需要传输,则直接复用这个连接,无需再建立一个新的连接。就像下图这样。
在这里插入图片描述
它的优势是在多次通信中可以省去连接建立和关闭连接的开销,并且从总体上来看,进行多次数据传输的总耗时更少。缺点是需要花费额外的精力来保持这个连接一直是可用的,因为网络抖动、服务器故障等都会导致这个连接不可用,甚至是由于防火墙的原因。所以,一般我们会通过下面这几种方式来做“保活”工作,确保连接在被使用的时候是可用状态:

1.利用 TCP 自身的保活(Keepalive)机制来实现,保活机制会定时发送探测报文来识别对方是否可达。一般的默认定时间隔是 2 小时,你可以根据自己的需要在操作系统层面去调整这个间隔,不管是 linux 还是 windows 系统。

2.上层应用主动的定时发送一个小数据包作为“心跳”,探测是否能成功送达到另外一端。 保活功能大多数情况下用于服务端探测客户端的场景,一旦识别客户端不可达,则断开连接,缓解服务端压力。
提前多说一句,如果在做了高可用的分布式系统场景中运用长连接会更麻烦一些。因为高可用必然包含自动故障转移、故障隔离等机制。这恰恰导致了一旦发生故障,客户端需要及时发现哪些连接已处于不可用状态,并进行相应的重连,包括重新做负载均衡等工作。

了解完了长连接,那么短连接就很容易理解了。短连接意味着每一次的数据传输都需要建立一个新的连接,用完再马上关闭它。下次再用的时候重新建立一个新的连接,如此反复。
在这里插入图片描述

它的优势是由于每次使用的连接都是新建的,所以基本上只要能够建立连接,数据就大概率能送达到对方。并且哪怕这次传输出现异常也不用担心影响后续新的数据传输,因为届时又是一个新的连接。缺点是每个连接都需要经过三次握手和四次握手的过程,耗时大大增加。

另外,短连接还有一个致命的缺点。我们回到前面提到的维基百科对 socket 的定义,其中说到 socket 包含通信协议、目标地址、状态等。实际当你在基于 socket 进行开发的时候,这些包含的具体资源主要就是这 5 个:源 IP、源端口、目的 IP、目的端口、协议,有个专业的叫法称之为“五元组”。在一台计算机上只要这五元组的值不重复,那么连接就可以被建立。然而一台计算机最多只能开启 65535 个端口,如果现在两个进程之间需要通信,作为服务端的 IP 和端口必然是固定的,因此单个客户端理论上最多只能与服务端同时建立 65535 个 socket 连接。如果除去操作系统和其它进程所占用的端口,实际还会更少。所以,一旦使用不当,在很短的时间内建立了大量连接,端口很容易被占用完。这不但会导致自身无法正常工作,还会影响到同一台计算机上的其它进程。


http://chatgpt.dhexx.cn/article/BlZOXOEE.shtml

相关文章

springboot 实现长链接转短链接

实现结果: 转换短链接api: 接口:http://127.0.0.1/api?urlurlencode(要缩短的网址) 例如:http://127.0.0.1/api?urlhttp%3a%2f%2fwww.baidu.com 返回:http://127.0.0.1/baidu 访问短链接即可还原原url;…

长链接与短链接

1、Http协议 1.1 HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递…

长连接与短链接

短链接:客户端每次请求成功后,将关闭链接 长连接:客户端请求成功后,并不会立即关闭链接,适用于客户端请求较为频繁的情况 ———————————————————————————————————— 1. HTTP协议与TC…

如何实现 长链接变 短 链接?

短链接,通俗来说,就是将长的 URL 网址,通过程序计算等方式,转换为简短的网址字符串。 大家经常会收到一些莫名的营销短信,里面有一个非常短的链接让你跳转。新浪微博因为限制字数,所以也会经常见到这种看着…

微信:长链接转短链接

前言 微信复制出来的链接太长,想转短连接如何做? 将一条长链接转成短链接。 主要使用场景: 开发者用于生成二维码的原链接(商品、支付二维码等)太长导致扫码速度和成功率下降,将原长链接通过此接口转成短…

长链接 转换成 短链接

文章目录 参考来源思路方法一方法二 参考来源 豆瓣 短链接生成的算法原理 思路 方法一 一般会想到用哈希,这里可以用MD5码获取哈希值,但时MD5生成的串挺长的,这类要考虑怎么把它变短。 做法如下: 方法二 很好想的思路&…

长链接 转短链接URL的设计思路

最烂的回答 实现一个算法,将长地址转成短地址。实现长和短一一对应。然后再实现它的逆运算,将短地址还能换算回长地址。 这个回答看起来挺完美的,然后候选人也会说现在时间比较短,如果给我时间我去找这个算法就解决问题了。但是稍…

长链接转成短链接的原理和实现详解

一、为什么要设计短链接,短链接有什么好处? 1、链接变短,在对内容长度有限制的平台发文,可编辑的文字就变多了。 比如:微博,限定了只能发 140 个字,如果一串长链直接怼上去,其他可…

长链到短链转化

文章目录 1:为什么将长链转化为短链?2:短链跳转的基本原理3:将长链转化为短链(Hash)3.1:hash3.1.1:hash算法的选取3.1.2hash后还是有点长3.1.3:解决hash冲突 3.2:自增序列算法 1:为什么将长链转化为短链? 1、链接变短…

2022年最新Python学习路线图(内附视频资料)【六张图带你掌握Python技巧】

目录 一、基础语法学习 二、制定发展方向 三、编程实践 四、资料获取 五、学习路线图​ 一、基础语法学习 Python的基础语法包括两大部分,其一是函数式编程部分,其二是面向对象编程部分。函数式部分的内容还是比较简单的,包括列表、函数…

零基础Python学习路线图,小白的进阶之路!

近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多。一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学习路线图。 对于一个零基础的想学习python的朋友来说…

15张超详细的Python学习路线图,纯良心分享,零基础学习宝典

这是一篇 Python 入门指南,针对那些没有任何编程经验,从零开始学习 Python 的同学。不管你学习的出发点是兴趣驱动、拓展思维,还是工作需要、想要转行,都可以用此文作为一个参考。 在这个信息爆炸的时代,以 “Python入…

2020最新版Python学习路线图

Python学习路线图网上有很多版本,前川网的这套Python学习路线图是2020最新版的,是根据企业招聘的要求不断更新的学习路线图,对之前的Pyhton学习路线图做了一些调整和改变,想要用Python爬虫或者深度学习人工智能的看这套Python学习…

Python 学习之路

最近在疫情静默管理期间,刚好有时间可以学习一下Python,非常幸运,找到一本Eric Matthes的《Python Crash Course》Python编程从入门到实践,好好研究一下。基础的语法就是一带而过了,使用的Python3.8.10版本&#xff0c…

一文讲清Python的7大学习路线(建议收藏)

现如今铺天盖地都是来自学习Python的勇士,Python这个编程语言中最友好的语言早已不是高不可攀的状态了。 无论是业余爱好,还是专职求学,学习Python的朋友都在依靠着自己的方法,勤勤恳恳的学习着,但是学习有方向&#x…

超全的Python学习路线图

Python是一种编程语言 完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。用Python完成项目,编写的代码量更少,代码简短可读性强,团队协作开发时读别人的代码速度会非常快&…

零基础Python学习路线图

Python学习路线图先奉上: Python教程_完全入门 推荐视频:https://www.bilibili.com/video/BV1jZ4y1p7zQ Python学习路线 第一阶段Python基础与Linux数据库 掌握Python基本语法规则及变量、逻辑控制、内置数据结构、文件操作、高级函数、模块、常用标…

Python学习路线图(2021最新版)

这是我最开始学Python时的一套学习路线,从入门到上手。(不敢说精通,哈哈~) 一、Python基础知识、变量、数据类型 二、Python条件结构、循环结构 三、Python函数 四、字符串 五、列表与元组 六、字典与集合 最后再送给大家一套免费…

python学习路线-思维导图

文章目录 1. python学习大纲2. python基础大纲2.1 python语言基础2.2 标准数据类型12.3 标准类型补充2.4 标准数据类型22.5 标准数据类型32.6 条件&循环2.7 计算机基础 3. python进阶大纲3.1 进阶条件&循环3.2 函数&模块3.3 面向对象3.4 补充知识3.5 文件对象3.6 异…

熬夜怒肝,保姆级Python学习路线,起飞!

想当初女朋友编程小白零基础,到如今在互联网大厂做算法工作,就是我带她漂进Python的海洋,从此一去不复返~ 我给她制订的学习路线十分适合萌新,总共分三步: 看视频 作项目 啃厚书 看视频 如果是零基础&#xff0c…