Does Socket.io garantee that broadcasted events are received in order client side?

Since previous answers could potentially be misleading, I think it's important to clarify one thing:

When using Socket.io with WebSockets, packet order is guaranteed to be maintained.

This is an old post, but it's worth noting that Socket.io over WebSockets actually does guarantee event ordering is maintained. This is because TCP itself, which is the underlying technology for WebSockets & HTTP guarantees packet ordering to be maintained. However Socket.io also supports several other protocols that do not guarantee order.

There have been several posted questions about this issue, supporting this fact:

  • https://github.com/josephg/ShareJS/issues/375
  • Can websocket messages arrive out-of-order?