为什么使用websocket,使用websocket有什么好处? [关闭]

问题描述 投票:15回答:1

我尝试阅读一些文章,但对这个主题不太清楚。

有人想在以下几点上向我解释:

  • 为什么通过http使用websocket
  • 什么是全双工通信
  • 您所说的低延迟交互是什么意思
java http websocket low-latency
1个回答
41
投票

为什么通过http使用websocket?

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

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

  2. 数据都可以非常有效地发送。因为已经建立了连接并且非常有效地组织了一个webSocket数据帧,所以可以比必须包含标头,cookie等的HTTP请求更高效地发送数据。

什么是全双工通信?

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

您所说的低延迟交互是什么意思

低延迟意味着从您请求某项内容到获得响应之间几乎没有延迟。正如适用于webSocket的那样,这仅意味着可以更快地发送数据(特别是通过慢速链接),因为已经建立了连接,因此不需要额外的数据包往返来建立TCP连接。

有关通过http请求与已建立的webSocket连接发送一些数据所涉及的比较,请参见此答案中列出的步骤:websocket vs rest API for real time data?

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

Server-push whenever a function is called: Ajax or WebSockets

Push notification | is websocket mandatory?

HTML5 WebSocket: A Quantum Leap in Scalability for the Web

© www.soinside.com 2019 - 2024. All rights reserved.