文章正文

网络通讯中长连接、长轮询、短轮询的区别

【文章】2021-04-24

简介网络通讯中长连接、长轮询、短轮询的区别

长连接

一般我们说长连接,主要描述的对象是一个TCP请求连接。当一个TCP通道一直保持着连接状态,即称这个连接为长连接。现在的HTTP1.1协议都使用的长连接,可以看到http报文5头部的connection为keep-alive,即为长连接。使用长连接和不使用长连接的效果对比下图:

优点:节约频繁创建连接的开销。可以看到多个请求可以复用一个tcp连接。

本质

本质上理解,这是一种“多路复用”技术。在通信领域,多路复用技术是为了有效地利用通信线路,希望一个信道同时传输多路信号。可见这种本质上的道理都是相同的。 

备注:当我们说起长连接的时候,请注意长连接描述的是TCP连接。在一个TCP连接中仍然可以发起多次请求。

长轮询

缺点:长轮询是服务器收到请求后如果有数据, 立刻响应请求; 如果没有数据就会 hold 一段时间,这段时间内如果有数据立刻响应请求; 如果时间到了还没有数据, 则响应请求;

缺点: 服务器端没有数据 却hold 住连接时, 容易产生服务器瓶颈;

短轮询

客户端每隔一段时间向服务端发送请求来获取数据,服务端接受请求并响应。

缺点: 客户端定时发起请求,如果服务端数据长期没有变化,会产生大量无效的请求,浪费网络资源。

打赏支持

感谢您的支持,加油!

打开微信扫码打赏,你说多少就多少

找书费时,联系客服快速查找!

扫码支持

在线客服8:30-22:30,若离线请留言!

获取教程,请联系在线客服!

扫码支持

在线客服8:30-22:30,若离线请留言!

热门阅读

找PDF电子书,太费时间?

  • 微信扫描二维码,让客服快速查找。
  • 在线客服8:30-22:30,若离线请留言!

    PDF电子书