长连接简介

      最后更新:2021-10-28 17:44:17 手机定位技术交流文章

      长连接

      心跳机制、长连接和短连接

      HTTP与TCP/IP之间的关系如下:

      • HTTP长链路和短链路基本上是TCP长链路和短链路。HTTP是一个应用层协议,在传输层和网络层使用TCP协议和IP协议。IP协议主要涉及网络路线和位置问题,但TCP协议处理在IP层以上可靠传输数据包的问题,使网络接收端能够接收发件人发送的所有软件包并遵循发送顺序。

      如何理解HTTP协定缺乏国家:

      • HTTP协议是无效的,这意味着协议没有交易管理的内存能力,服务器不知道客户是谁。 也就是说,在服务器上打开网页与先前在服务器上打开网页之间没有联系。 HTTP是一个未注明的、连接的协议,并不意味着HTTP无法保留TCCP连接,更不用说HTTP使用了UDP协议(没有连接)。

      长线和短线之间有什么区别?

      • HTTP/ 1.0 默认使用简短连接。 这意味着客户端和服务器每次使用 HTTP时, 都会进行连接, 任务结束时连接就会终止。 当客户浏览器看到 HTML 或其他类型的网页包含额外的网络资源( 如 JavaScript、 图像和 CSS 文件, 例如.) 时, 浏览器会话会话会设置新的 HTTP 会话 。
        在一种情况下,默认使用长的连接来保留连接属性。在使用长期连接的 HTTP 协议时,在回复中加入以下行代码:

      当一个网页打开时,用于在客户与服务器之间发送 HTTP 数据的TCP 连接没有关闭,客户在再次查看服务器时将继续使用已建立的连接。 Keep- Alive 不永久保留连接; 它有一段时间要维持, 可以在不同的服务器软件中更改( 例如, gkeepweb 页面是打开的, 用于在客户与服务器之间发送 HTTP 数据的TCP 连接不是关闭的, 客户在再次查看服务器时将继续使用已建立的连接。 保存- ALive 不永久保留连接; 它有一段时间要维持, 可以设置在不同的服务器软件中( 例如, 长期连接需要客户与服务支持它) 。

      HTTP协议的长线和短线联系基本上是TCP协议的长线和短线联系。

      TCP连接:

      • 当TCP协议用于网络通信时,在真正的读写活动之前,客户和服务器之间必须进行连接,当双方在读写操作完成后不再需要连接时,这种连接可能被释放。连接的构造取决于“三个握手”和释放需要“四个握手”,因此每个连接都是在资源消耗中构建的,时间动作CP协议用于网络通信,在真正的读写活动之前,客户和服务器之间必须进行连接,当双方在读写操作完成后不再需要连接时,这种连接可以释放。连接的建立取决于“三个握手”和释放需要“四个握手”,因此每个连接都是在资源消耗和时间中构建的。

      为了绘制关系图,使用常规的三手摇篮:

      在这里插入图片描述

      传统四手握断开连接图:
      在这里插入图片描述

      长途短途操作:
      短连接的运行阶段如下:

      • 创建连接 - 数据传输 - 数据传输 - 密切连接 - 创建连接 - 数据传输 - 密切连接 - 创建连接 - 数据传输 - 密切连接

      长期连接的运行阶段如下:

      • 建立连接 - 传输数据.. (保持连接) 传输数据 - 关闭连接

      短连接:

      概念

      该链接通过Clit和服务器之间的握手而形成三次,一个链接在Clit提交请求电文和服务器回复时完成。

      在这一点上,双方都可以自由地开始近距离作业,尽管通常由公司发起近距离作业。 如上所述,短距离连接通常会让阴蒂/服务器之间的请求操作只发出一次。

      短连接的优缺点:

      • 管理起来相当容易,现有的联系是有益的,不需要额外的控制。

      使用场景:

      • 浏览器经常使用简短的连接连接到服务器 。

      • 长期连接利用了服务资源,用户在服务结束之前的准入比例并不特别高。

      • 如果有数十万或数以百万计的连接,服务端的负荷就会严重到崩溃。

      • 因此,建议为请求数量大但频率低的人提供较短的连接。

      长连接:
      什么是长连接?

      • 客户端启动与服务器的连接, 服务器接受连接, 并在当事人之间建立连接 。

      • 在完成读写作业后,客户与服务器之间的连接不会自动终止,未来的读写操作将继续使用该连接。

      长连接的生命周期:

      • 当TCP长线连接形成时,它通常存在,只要没有关闭请求,也没有异常。

      • 操作系统不自动关闭,即使在物理网络发生变化后,仍继续运作。

      • 因此,只要没有异常或用户(应用水平)自由关闭,连接可以维持数天、数月、数年或更长的时间。

      • 客户和服务单总是能够利用交换数据的连接。

      长连接的优点:

      • 较长的连接可节省更多的TCP创建和封闭的流程,同时减轻网络干扰的影响。

      • 发生错误时,可以发送提示而不终止连接。

      • 降低CPU和内存的利用率,因为不需要定期创建和关闭连接。

      长连接的缺点:

      • 当连接量高时,服务端的性能和共同生产的数量就会受到影响。

      使用场景:

      数据库连接是一个长长的 TCP 连接 。

      • RPC代表远程服务电话。在服务器上,一个服务程序经常呼叫另一个服务程序,允许使用长长的连接,缩短连接时间。

      总结:
      第一,长线和短线的利用必须与申请情况权衡。

      两长连接并非不可战胜,必须保持良好状态。

      长连接的实现
      心跳机制

      • 大多数应用级别协议都使用心比机制,客户向服务器发送数据包,经常提醒服务器仍然在线。

      • 使用心跳包的共同协议是IMM,例如/MSN/Findiness。

      • 在TCP机制中有一个有心跳的机制,这就是TCP的选择:SO_EPALive。

      • 系统默认为两小时心跳频率。 然而,它无法调查断电、笨拙的电线和防火墙。

      • 逻辑层可能不如被损坏的电线那么好。 一般来说,它只适合生活使用。

      心跳机制的目的是什么?

      • 由于网络的不稳定性,由于网络的不便、能源突然丧失等情况,可以延长TCP的连接时间。

      • 这将打破服务器和客户之间的联系。 在这种情况下,如果服务器和客户之间没有联系,他们将无法及时找到对方。

      • 这些问题可以通过心率方法加以解决。

      TCP协议的维持生存机制

      • 默认情况下, KaveAlive 状态将被关闭 。

      • 要启用“ 保持生命状态”, 我们必须在 SOL_ SOCKET 上设置 Setsockopt。 So_ eepalive to 1.

      您也可以指定三个参数:

      tcp_keepalive_time ,tcp_keepalive_probes , tcp_keepalive_intvl,

      每条都具体说明连接在发送保存天线包之前闲置了多久,发送几个包需要多长时间,当对方断开时没有回复它们,以及两个包之间的间隔中断了多久。

      由于硬件限制(如内存),许多网络装置,特别是NAT路由器无法保持所有连接,因此,必要时会启动连接池中某些不活动连接(模拟、CPU处理能力)。

      最常见的方法是LRU,它与T联系的时间最长,没有数据。

      连接每分钟可产生一些包,以降低使用TCP的 " 保持生命 " 机制(时间参数的修改)被扔出的危险,其代价是网络和CPU需求增加。

      如何实现心跳机制?
      实现心跳机制:

      • 利用tCP协议的保存功能。

      • 在申请层面,一个自我定义的心跳机制。

      • 虽然它为在TCP协议一级保持活力提供了一种手段,但在通过该协议方面有一些缺点:

      • 这不是一个TCP标准协议, 它总是关闭。

      • TCP的保存方法取决于操作系统的实施,默认的异性心脏跳动时间为两小时,系统要求的调整(或系统配置的调整)不够灵活。

      • 由于TCP的保存与TCP挂钩,如果必须用一项联合民主党协定取代TCP,它就会失败。

      • 与自定义的应用级别心率方法相比,在TCP一级使用保持机制可以节省带宽。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/12233.html

          热门文章

          文章分类