0

特定の POST リクエストを受け取るたびに、websocket 経由でメッセージをブロードキャストする必要があります。問題は、1 つのサーブレット (拡張 HttpServlet) が POST 要求を受信し、別のサーブレット (拡張 WebSocketServlet) が Websocket 接続を処理することです。

リクエストの種類が異なり、POST 受信サーブレットでリクエストをさらに処理する必要があるため、RequestDispatcher を使用できません (正しく理解している場合)。

最初のサーブレットから 2 番目のサーブレットに ws-request を送信できるかどうかはわかりませんが、できたとしても正しい方法ではないようです...

4

1 に答える 1

1

websocketでは、http接続をアップグレードする必要があります。その接続がアップグレードされると、httpについて話しているのではなく、websocketについて話していることになります。

したがって、WebSocketにはhttpPOSTセマンティックの概念がありません

理論的には、ポイントAとポイントBの間に2つの接続があり、1つはhttpで、もう1つはWebSocketである場合、サーバーのようにそのようなセットアップカスタムを調整できますが、それはひどい設計imoであり、調整が多すぎます。プロトコルに依存しないメッセージをやり取りできるcometdのようなメッセージライブラリを使用する方がはるかに優れています。次に、そのメッセージライブラリに、websocket、spdy、またはhttpを長いポーリングで話すか、単なるolehttpで話すかを決定させます。

于 2012-08-31T13:02:33.333 に答える