Socket.IOには、クライアントがイベントを順番に受信することを保証する、ある種の順序付けメカニズムがありますか?
例:サーバーがクライアントAにイベントを発行し、サーバーがすべてのクライアントにEvt1
ブロードキャストする場合。Evt2
したがって、クライアントAは、その順序でのみ受信Evt1
しEvt2
ます。
私の推測ではNOです。もしそうなら、どのように実装しますか、それとも既存のソリューションがありますか?
Socket.IOには、クライアントがイベントを順番に受信することを保証する、ある種の順序付けメカニズムがありますか?
例:サーバーがクライアントAにイベントを発行し、サーバーがすべてのクライアントにEvt1
ブロードキャストする場合。Evt2
したがって、クライアントAは、その順序でのみ受信Evt1
しEvt2
ます。
私の推測ではNOです。もしそうなら、どのように実装しますか、それとも既存のソリューションがありますか?
以前の回答は誤解を招く可能性があるため、1つのことを明確にすることが重要だと思います。
これは古い投稿ですが、 WebSocket を介したSocket.ioは、実際にはイベントの順序が維持されることを保証していることに注意してください。これは、WebSocketとHTTPの基盤となるテクノロジーであるTCP自体が、パケットの順序を維持することを保証しているためです。ただし、Socket.ioは、順序を保証しない他のいくつかのプロトコルもサポートしています。
この問題についていくつかの質問が投稿されており、この事実を裏付けています。
いいえ、必要な場合は、アプリケーションレベルで行う必要があります。インターネットは、2つの異なるパケットが同じルートを取ることを保証しないため、タイミングが異なる可能性があります。たぶん、各メッセージにタイムスタンプを追加して、そのタイムスタンプで並べ替えて整理できるようにします。