JavaEE サーバーとして GF 4 を使用しています。
これが私がサーブレット処理を理解する方法です。スレッドのプールがあり、リクエストが来ると、このプールから1つのスレッドがリクエストを処理するために取られます。その後、スレッドはプールに戻されます。
上記の情報に基づいて、websocket (サーバーエンドポイント) は次のように処理されると思います (よくわかりません): スレッドのプールがあります。
- クライアントは新しい WebSocket を作成し、プールからスレッドを取得して ServerEndpoint の新しいインスタンスを作成し、@OnOpen メソッドを実行します。その後、スレッドはプールに戻されます。
- クライアントは、WebSocket を介してサーバーにメッセージを送信します。@OnMessage メソッドを実行するためにプールからスレッドが取得されます。その後、スレッドはプールに戻されます。
- クライアントが websocket を閉じます - @OnClose メソッドを実行するためにプールからスレッドが取得されます。その後、スレッドはプールに戻されます。
つまり、ServerEndpoint のすべてのメソッドを異なるスレッドで実行できるということです。私の理解は正しいですか?