Websocket通信延迟问题

Websocket Communication Latency Questions

本文关键字:问题 延迟 通信 Websocket      更新时间:2023-09-26

关于websocket连接的3个小问题

  1. 当客户端向服务器发送数据时,会出现延迟。当服务器向客户端发送数据时,是有延迟还是即时?

  2. 如果客户端在特定的行中非常快速地将数据发送到服务器,比如说[1,2,3],那么由于延迟或其他原因,服务器是否有可能在不同的行中接收数据?(如[2,1,3])

  3. (与问题2相同,但当服务器发送数据时)

  1. 是的,存在延迟。它仍然是一个连接,仍然有一条链需要导航。延迟只有在情况发生变化时才重要,并且考虑到消息到达客户端需要X分钟的时间,客户端需要X毫秒的时间才能对其进行任何处理,在这些毫秒内状态很可能会发生变化。就像HTTP请求(WebSockets几乎是一样的)变得"热"一样,我相信延迟会减少(在其他条件相同的情况下),但它仍然存在。

  2. 不,WebSocket是通过TCP的,所以它们是有序的。UDP传输是即发即弃,它不会发送任何接收通知,也不会使用定时信息重新生成数据包,因此您可以更快地发送消息,但不能对接收、订单或事件做出任何假设。页面印象将是一个很好的例子,说明你并不真正关心什么顺序,也可能不太关心服务器何时收到这样的消息,WebRTC可能会在JS和服务器之间带来UDP连接,但标准仍在出现。目前,WebSockets通过HTTP升级进行连接,这意味着它们是TCP,在TCP中,订单信息和收据确认是一回事(来回发送越来越多的消息)。

  3. 同样的答案!这一切都是通过TCP进行的,所以整个行程是往返的,但订单是有保证的。