1

こんにちは、私はいくつかのサーバー プッシュを処理したいと考えています。何かを処理する非同期サーブレットがあり、それをクライアントにプッシュしてから、別のものを処理してクライアントに再度プッシュします(同じ接続)。サーブセットはデータ (この場合は Json ですが、実際には意味がありません) を返すだけです。

だから私の問題はクライアントです。そのためのクライアントを構築するにはどうすればよいですか? たとえば、JQuery で ajax リクエストを作成した場合、最初の応答の後に来るデータにどのように反応できますか?

ここで何が欲しいかをより明確にするために、比較があります。websockets には onmesssage メソッドがあります。

websocket ws = new WebSocket("ws://myserver.com");
ws.onmessage = function(event)
{
   var x = event.data
   .... // some other code here
}

だから私が欲しいのはonmessageメソッドだけです:)。ウェブソケットの場合ほど簡単ではないと思いますが、誰かがアイデアを持っているかもしれません。

こんにちはアレックス

4

1 に答える 1

0

クライアントによって非表示の iframe に読み込まれる応答をサーバーに生成させることができます。生成された応答には、"外部" (含まれるドキュメント) を呼び出す JavaScript ステートメントが時折含まれます。を使用して、含まれているドキュメントを手に入れることができますparent

ただし、この手法はかなりハック的であることに注意してください (少なくとも私にはそう思われます)。XMLHttpRequest だけを使用することを再検討することをお勧めします。特に、単純で堅牢なエラー処理が得られるからです。サーバー側で「古い」応答に追加する代わりに、より多くの要求を行うことができます。これによりおそらく追加のラグが発生しますが、その iframe トリックは実際には非常に厄介です。

于 2011-06-15T13:21:46.197 に答える