2010-12-15 18 views
0

私はJavaベースのWebアプリケーション(struts 1.2)を持っています。フロントエンド(jsp)にステータスを表示するという要件があります。これで、私のサーバーが別のサーバーから通知を受ける状況が変わる可能性があります。しかし、私はこの状態の変更をブラウザに通知する必要があります。サーバー上のイベントについてブラウザに通知する

私は間隔を置いてリフレッシュしたくありません。むしろ、私はGmailのチャットで行われたようなものを実装する必要があります。ブラウザはサーバー上のイベントを変更することによって通知されます。

これについてどうやったらいいですか?

ステータスのサーバーへの要求を開く行を考えていました。サーバーの終了時に、要求が保持され、状態が変化するまで応答しません。任意のポインタ、これの例?

答えて

1

最高の解決策は、XMPPプロトコルを使用することです。標準化されており、数多くのオープンソースソリューションが数分で始めることができます。 SmackStropheJSOpenfireの組み合わせを使用して、目的に応じてJavaベースのアプリを利用できます。

1

ロングポーリング(彗星)というメソッドがあります。基本的には、サーバーに要求を送信します。サーバー上で作成されたリクエストスレッドは、ユーザーの新しいデータを待つだけで、1分以上の時間制限があります。新しいデータが利用可能になると、それが返されます。

主な問題は、サーバー側の問題に取り組むことです。新しいデータを待っているすべてのユーザーに対してスレッドを1つずつ持つことは望ましくありません。もちろん、バックエンドによっては非同期メソッドを使用することもできます。

参考:http://en.wikipedia.org/wiki/Push_technology

別の方法は、WebSocketをを使用することであろう。問題は、今日のすべてのブラウザでサポートされていないということです。

関連する問題