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

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

      文章目录

      • 一. HTTP协定与TCP/IP协定的联系
      • 二. 如何确认《HTTP协定》何时为自愿协定
      • 三. 哪些是长、短联系?
      • 四、TCP连接
      • Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-
        • 短连接
          • 短连接的优缺点
        • 长连接
          • 长连接的生命周期
          • 长连接的优点
          • 总结
      • 《TCP协定》的维持生存机制
      • 七、长连接的实现
        • 心跳机制
        • 心跳机制的目的是什么?
        • 如何实现心跳机制?

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

      为了绘制关系图,使用常规的三手摇篮:
      在这里插入图片描述

      传统四手握断开连接图:

      在这里插入图片描述

      Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-Long-

      短连接的运行阶段如下:
      创建连接 - 数据传输 - 数据传输 - 密切连接 - 创建连接 - 数据传输 - 密切连接 - 创建连接 - 数据传输 - 密切连接
      长期连接的运行阶段如下:
      建立连接 - 传输数据.. (保持连接) 传输数据 - 关闭连接

      短连接

      概念

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

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

      短连接的优缺点

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

      使用场景

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

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

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

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

      长连接

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

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

      长连接的生命周期

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

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

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

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

      长连接的优点

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

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

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

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

      使用场景

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

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

      总结

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

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

      《TCP协定》的维持生存机制

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

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

      您也可以指定三个参数:

      tcp_keepalive_time ,tcp_keepalive_probes , tcp_keepalive_intvl,

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

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

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

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

      七、长连接的实现

      心跳机制

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

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

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

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

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

      心跳机制的目的是什么?

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

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

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

      如何实现心跳机制?

      实现心跳机制:

      利用tCP协议的保存功能。

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

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

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

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

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

      与自定义的应用级别心率方法相比,在TCP一级使用保持机制可以节省带宽。
      逐步指示: 保持生命能够实现Httpd负载平衡的高度能力

      部分内容参照:
      断线、长连线、短连线和心率重新连接。
      长 HTTP 连接和短 HTTP 连接有什么区别?
      断线、长连线、短连线和心率重新连接。
      长 HTTP 连接和短 HTTP 连接有什么区别?

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

          热门文章

          文章分类