为什么要使用websocket,使用它有什么好处?

我试过阅读一些文章,但在这个主题上并不那么清楚。

有人想在下面解释我的观点:

  • 为什么在http上使用websocket
  • 什么是全双工通信
  • 低延迟交互是什么意思?

任何forms的帮助表示赞赏。

为什么在http上使用websocket?

webSocket是客户端和服务器之间的连续连接。 连续连接允许以下内容:

  1. 数据可以随时从服务器发送到客户端,客户端甚至无需请求。 这通常被称为服务器推送,对于客户端需要在服务器上发生某些事情时需要非常快速地知道的应用程序非常有价值(例如已收到新的聊天消息或已经使用新的价格)。 客户端无法通过http推送数据。 客户端必须通过每隔几秒发出一次http请求来定期轮询,以便及时获得新数据。 客户端轮询效率不高。

  2. 可以非常有效地以任一方式发送数据。 因为已经建立了连接并且非常有效地组织了webSocketdataframe,所以可以通过必须包含标题,cookie等的HTTP请求更有效地发送数据…

什么是全双工通信?

全双工意味着可以随时在连接上以任何方式发送数据。

低延迟交互是什么意思?

低延迟意味着您在请求内容的时间与获得响应的时间之间几乎没有延迟。 因为它适用于webSockets,它只是意味着可以更快地发送数据(特别是在慢速链接上),因为已经建立了连接,因此不需要额外的数据包往返来建立TCP连接。

有关通过http请求与已建立的webSocket连接发送一些数据所涉及的内容的比较,请参阅本答案中列出的步骤: websocket vs rest API用于实时数据?

这些其他参考也可能有用:

无论何时调用函数,都要进行服务器推送:Ajax或WebSockets

推送通知| websocket是强制性的吗?

HTML5 WebSocket:Web可扩展性的量子跃进