这是否广播事件Socket.io garantee为了客户端接收?(Does Socket.io g

2019-08-17 14:47发布

是否有某种的Socket.io排序机制,garanties的事件,以便广大客户的好评。 例:如果服务器发出事件EVT1到客户端A,服务器广播EVT2到所有客户端。 扑扇客户端A接收EVT1然后EVT2和仅在该顺序。 我有点懒阅读代码并不能找到我在网上的答案。 我的猜测是NO,如果那样的话,你将如何实现它还是有现有的解决方案?

Answer 1:

不,你需要做的是在应用层面,如果你需要做的。 互联网不保证两个不同的数据包将走同样的路线,所以时间可能有所不同。 也许一个时间戳添加到每个邮件,以便您可以通过时间戳排序保持对事物的顺序。



Answer 2:

由于以前的答案可能会产生误导,我想澄清一两件事是很重要的:

当使用Socket.io使用WebSockets,分组顺序保证得以维持。

这是一个老帖子,但值得注意的是,在Socket.io 的WebSockets 实际上并保证事件排序保持不变。 这是因为TCP本身,这对的WebSockets&HTTP的底层技术保证维持分组排序。 然而Socket.io还支持保证顺序其他几个协议。

已经有关于这个问题的几个贴的问题,支持这样一个事实:

  • https://github.com/josephg/ShareJS/issues/375
  • 可以WebSocket的消息到达了序?


文章来源: Does Socket.io garantee that broadcasted events are received in order client side?