HTTPおよびTCP / IPを介したオブザーバーパターン(サーバークライアント)


9

私はサーバーと多くのクライアント(約50クライアント)がWebアプリケーションに基づいてそのサーバーに接続するクライアントを持っています。これはもちろん、HTTPプロトコルに基づいており、TCP / IPを使用しています(間違っている場合は修正してください。ネットワーキングは本当に得意ではありません)。

問題は、私が警告メカニズムを開発する必要があることです。誰かが危険な値を含むフォームを送信すると、マネージャー(同じWebアプリケーションを介して接続されている)が彼の画面に警告ポップアップを受信します。 -time(瞬時に)。

ただし、HTTPプロトコルはステートレスなので、ここでは少し戸惑います。これを実装する方法がわかりません。

ソリューションの1つは、JavaScriptをsetInterval()関数と一緒に使用して、サーバーから毎秒データをプルすることです。しかし、これは私には少し汚く、専門家ではないようです。

別のソリューションを実装するアイデアはありますか?



どんなクライアント?シン(ブラウザベース)クライアントまたはヘビークライアント?
ysdx 2011

@ysdx、クライアントだと思う。ブラウザのみをサポートするクライアント。
Saeed Neamati、2011

回答:


4

何らかのajaxプッシュCometを参照)を使用してクライアントに通知する必要があります。ポーリングの必要をなくすことができます。基本的に、発生したイベントをブラウザに通知するために使用できる確立された接続を開いたままにします。ただし、これはすべてのブラウザで機能するわけではありません。このような場合、「ロングポーリング」にフォールバックします。


6

これが、WebSocketが作成された理由の1つだと思います。古いブラウザとの互換性が必要ない場合は、ポーリングの代わりにこれを使用できます。とにかく、ポーリングをフォールバックとして使用する必要があります。

最近、仕様/実装がどれほど安定しているかはわかりません(それほど昔はそれほど安定していませんでした)。Firefox 6とChromium 14には最新の仕様が実装されているようです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.