0

接続してデータを受信し、それをクライアント (Web ブラウザー) にプッシュする必要がある SocketServer があります。

アプローチを確認するだけです。ServletContextListener 内でメッセージをリッスンし続けるソケット接続を作成します。その後、メッセージは ServletContext に格納されるため、クライアント ブラウザにプッシュして戻すことができます。

  1. ServletContextLister 内でソケット接続を作成する必要がありますか? または、ソケットをリッスンする他の方法はありますか?

  2. データをクライアントにプッシュするために、双方向通信はしたくありません。では、SSE または Html5 WebSocket を使用する必要がありますか? クライアント側ライブラリとともに SSE または WebSocket をサポートする Java フレームワークはありますか?

ありがとう

4

1 に答える 1

0

私はこれを実装し、うまく機能しています。サーバーには Jetty 8 を使用し、jetty の WebSocket を使用しました。

簡単に実装した方法は、SocketServer からのメッセージをリッスンするために、メッセージを消費する Socket を初期化する ServletContextListener を実装したことです。

ユーザーが URL にアクセスすると、WebSocket 接続を Collection に追加し、そのコレクションを ServletContext 属性として保存します。この WebSocket リストは、メッセージが到着するたびに反復してメッセージを送信する Socket によってアクセスされます。その後、メッセージは接続されているすべてのクライアントにプッシュ バックされます。

于 2013-02-10T14:20:37.263 に答える