0

特定の顧客の更新を確認するためにブラウザーからサーバーにポーリングすることを計画していたユース ケースがありました。次に、Web サーバー上で実行されているサーブレットが何かを取得するたびに、Web サーバー (私の場合は tomcat) が自動的にそれを実行できるプッシュ アプローチを検討することを考えました。サードパーティからの更新。最初の質問は、どのブラウザクライアントに更新を送信する必要があるかを javaclass がどのように認識するかについて頭に浮かびました。 -プッシュ通知サーバー/ . これは、プッシュ アプローチをサポートする方法を示す素晴らしいリンクです。しかし、このアプローチを進めるためのいくつかの基本的な質問を思いつきました。これらは:-

1)ブラウザは内部的にWebソケットを使用してWebサーバーと通信するだけですか、それともTCPを使用しただけですか? 私の理解によると、ブラウザはTCPプロトコルのみを使用しますが、chrome、mozillaなどの一部のブラウザでサポートされています

2) websocket (例では io.connect('url') によって提供される) はすべてのブラウザでサポートされていますか?特に IE7,IE8 私の理解によると

3)ブラウザーでプッシュ アプローチをサポートするには、websockets が唯一の方法ですか? 私の理解によると、Websockets は主に Web サーバーからブラウザーにデータをプッシュするために使用されます (Websocket をサポートするもののみ)。 。右?

4)リクエストがタイムアウトしたり、レスポンスが長時間待たされる場合のように、websocketが自動的に切断される可能性はありますか?

5)ソケットを明示的に切断する必要がありますか?それとも、ブラウザを閉じると自動的に閉じられますか?

返信が的を得ていると本当に助かります。

4

1 に答える 1

0
  1. WebSocket プロトコルTCP プロトコルです。HTTPとして開始し、TCPにアップグレードできるというだけです。

  2. Internet Explorer は、バージョン 10 で WebSockets をサポートすることになっています。他の主要なブラウザー (Chrome、FireFox、Safari、Opera) は完全にサポートしています。

  3. 他にも多くの可能性があります。単純なポーリング、ロング ポーリング (1 つの ajax リクエストを作成し、新しいデータがある場合にのみサーバーが応答する)、非表示の無限 iframe、フラッシュの使用など。

  4. はい。

  5. ポート (この場合はブラウザ) を使用しているアプリケーションが強制終了されると、すべての接続も終了します。

于 2012-11-19T09:21:30.850 に答える