1

Web サービス アプリケーションの場合、サーバーがいくつかのイベントについてクライアントに通知できるようにしたいと考えています。クライアントが起動されると、WS メソッドの 1 つを呼び出して、必要な情報を取得します。次に、この情報を保存するサーバーは、これらの情報の変更を継続的にリッスンし、変更がある場合は、関係するクライアントに通知します。

Web サービスが問題の解決策になるかどうかわかりません。サーバーは非常に長い時間の後にクライアントに通知する可能性があるため、TCP 接続に関してどのように機能するかはわかりません。

この種の問題を解決するのに最適なアーキテクチャは何でしょうか?

ありがとう


編集:コメットの使用を提案するいくつかの議論を見てきましたが、より簡単で便利な解決策があると思われる場合は、お知らせください。私はこのプロジェクトをゼロから始めているので、制限はありません。

クライアントが定期的にサーバーをポーリングして必要な情報を取得するポーリング モデルを使用することもできますが、このモデルがサーバーに与える負荷を考慮する必要があります。多くのクライアントが存在する場合、Web サービスがそのような負荷をサポートできるかどうかはわかりません。

Servlet 3.0 が提供する非同期機能も調べましたが、それがどのように問題を解決するのかわかりません。

4

3 に答える 3

0

ポーリングなし: ソケット

ポーリングと Web サービスの場合: etag (html) を使用する必要があります。

クライアントがポーリングするとき、彼は etag 付きのリクエストを送信します。webservice は、200 (ok) とデータまたは 304 (変更なし) のいずれかで応答します。304 には本文がない => トラフィックが少ない

于 2012-08-20T11:35:50.420 に答える