私はサーバーと多くのクライアント(約50クライアント)がWebアプリケーションに基づいてそのサーバーに接続しますが、これはもちろんHTTPプロトコルに基づいており、次にTCP/IPを使用します(間違っている場合は修正してください。ネットワーキングは本当に得意ではありません)。
問題は、私がアラートメカニズムを開発する必要があることです。誰かが危険な値を含むフォームを送信すると、マネージャー(同じWebアプリケーションを介して接続されているマネージャー)が画面にアラートポップアップを表示します。 -time(瞬時に)。
ただし、HTTPプロトコルはステートレスなので、ここでは少し戸惑います。これを実装する方法がわかりません。
解決策の1つは、setInterval()
関数とともにJavaScriptを使用して、サーバーから毎秒pullデータを取得することです。しかし、これは私には少し汚く、専門家ではないようです。
別のソリューションを実装するアイデアはありますか?
何らかの種類のajax Push( Comet を参照)を使用してクライアントに通知する必要があります。ポーリングの必要をなくすことができます。基本的に、確立された接続を開いたままにしておき、発生したイベントをブラウザに通知するために使用できます。ただし、これはすべてのブラウザで機能するわけではありません。このような場合は、「ロングポーリング」にフォールバックします。
これがこの種の理由だと思います WebSockets が作成された理由。古いブラウザとの互換性が必要ない場合は、ポーリングの代わりにこれを使用できます。とにかく、ポーリングをフォールバックとして使用する必要があります。
最近、仕様/実装がどれほど安定しているかはわかりません(それほど以前にはそれほど安定していませんでした)。 Firefox 6とChromium 14には最新の仕様が実装されているようです。