1

Websocket を使用する Html5 Web アプリケーションでは、クライアントはいつでも多くのメッセージを受信できます。

websocket メッセージ衝突のリスクはないと思いますか?
イベントを処理するスレッドは本当に 1 つだけですか?
そうでない場合、これらのメッセージをブラウザーに保存し、1 つずつ順番に処理するにはどうすればよいですか?

ご協力いただきありがとうございます。

4

1 に答える 1

2

WebSocket は TCP プロトコルを使用します。つまり、メッセージは常に送信された順序で到着します。「メッセージの衝突」などはありません。

イベントを処理するスレッドは 1 つだけです。WebWorker と呼ばれるバックグラウンド スレッドを作成して、WebSocket 接続 (接続の作成、送受信を含む) を処理できます。しかし、DOM を含む Javascript の残りの部分とのやり取りは複雑です。

socket.onmessageソケットを作成した直後に割り当てられたメッセージを処理するには。割り当てた関数はsocket.onmessage、メッセージを到着順に受信します。方法については、WebSocket のチュートリアルを探してください。

于 2014-02-04T15:51:46.973 に答える