在 Socket.IO 中是否有某种排序机制可以保证客户端按顺序接收事件?
例如:如果服务器向客户端A发送事件 Evt1
,然后向所有客户端广播 Evt2
。那么客户端A只能按照 Evt1
然后 Evt2
的顺序接收。
我的猜测是没有这样的机制,如果是这种情况,你会如何实现它或者是否已经存在解决方案?
在 Socket.IO 中是否有某种排序机制可以保证客户端按顺序接收事件?
例如:如果服务器向客户端A发送事件 Evt1
,然后向所有客户端广播 Evt2
。那么客户端A只能按照 Evt1
然后 Evt2
的顺序接收。
我的猜测是没有这样的机制,如果是这种情况,你会如何实现它或者是否已经存在解决方案?
由于之前的答案可能会具有潜在误导性,我认为有必要澄清一件事:
虽然这是一篇旧文,但值得注意的是:使用WebSockets方式的Socket.io确实保证事件顺序被保持。这是因为TCP本身就是WebSockets和HTTP底层技术,它保证了数据包顺序的传输。然而,Socket.io还支持其他几个不保证顺序的协议。
关于这个问题已经发表了几个帖子,证明了这一事实: