2011-06-15 7 views
1

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

私の問題はクライアントです。どのようにクライアントを構築するのですか?たとえば、JQueryでajaxリクエストを作成すると、最初のレスポンスの後に来るデータにどのように反応できますか?

私がここで何を望んでいるかをより明確にするために、比較しています。ウェブソケットでは、私はメソッドonmesssageを持っています。

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

私が望むのは、onmessageメソッドです。私はそれがwebsocketsと同じくらい簡単ではないと思うかもしれないが、多分誰かがアイデアを持っている。

挨拶ALEKS

答えて

0

ご自分のサーバがクライアントから非表示のiframeにロードされた応答を生成することができます。生成されたレスポンスには、「外部」(インクルードするドキュメント)を呼び出すJavaScript文が含まれています。 parentを使用して、含まれている文書を手に入れることができます。

しかし、このテクニックはかなりハッキリです(少なくともそれは私に似ています)。 XMLHttpRequestを使用するだけで再考することができます。これは、シンプルで堅牢なエラー処理を提供するためです。 (サーバー側で「古い」応答に追加するのではなく)さらに多くの要求を行うことができます。これはおそらく追加のラグを導入するでしょうが、iframeトリックは実際には面倒です。

+0

こんにちはWaldheinz、私はiframeのアイデアはちょっと本当にきれいではないことに同意します。しかし、私が望むソリューション(XMLHttpRequest)を教えてくれました。それがまさに私が探し求めたものです。大変ありがとうございます – Aleks

+0

あなたは大歓迎です、そして、ようこそ。 – Waldheinz