問題タブ [comet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
18 に答える
74872 参照

ajax - Webサーバーからブラウザにデータをプッシュする方法はありますか?

もちろん私はAjaxを知っていますが、Ajaxの問題は、ブラウザーがサーバーを頻繁にポーリングして、新しいデータがあるかどうかを確認する必要があることです。これにより、サーバーの負荷が増加します。

サーバーを頻繁にポーリングする以外に、(Ajaxを使用しても)より良い方法はありますか?

0 投票する
8 に答える
40254 参照

asp.net - ASP.NET のコメット実装?

私はブラウザー内で gmail のようなメッセージングを実装する方法を検討しており、Cometの概念にたどり着きました。ただし、IIS 内でこれを実行できる適切な .NET 実装を見つけることができませんでした (このアプリケーションは ASP.NET 2.0 で記述されています)。

私が見つけた(または考えられる)解決策では、ユーザーごとに実行中のスレッドを残す必要があります。これにより、ユーザーがメッセージを受信したら応答を返すことができます。もちろん、これはまったくスケーリングしません。

私の質問は、別の方法で動作する Comet の ASP.NET 実装を知っていますか? それはIISでも可能ですか?

0 投票する
1 に答える
2177 参照

java - Tomcat6CometProcessor内からの書き込みは非ブロッキングです

潜在的に多数のクライアントに対してマルチキャストを効果的に実行しているCometProcessor実装があります。すべてのクライアントに伝播する必要のあるイベントが発生すると、CometProcessorは応答を書き出すクライアントのリストをループする必要があります。応答の書き込みがブロックされると、低速のクライアントがイベントの配信に悪影響を与える可能性があります。例:

更新:私自身の質問に答えます。CometProcessorからの書き込みがブロックされています:

http://tomcat.apache.org/tomcat-6.0-doc/config/http.html

ページ下部の表を参照してください。

0 投票する
8 に答える
60960 参照

javascript - コメットとjQuery

私は、javascript を使用したサーバー プッシュについていくつか調査を行いましたが、私が探しているのは "Comet" デザイン パターンにあるという一般的なコンセンサスが得られました。jQuery の上に構築されたこのパターンの適切な実装はありますか? そうでない場合、このパターンの適切な実装はありますか? これらの質問への回答に関係なく、実装の観点から見たこのパターンに関するドキュメントはありますか?

0 投票する
3 に答える
3194 参照

javascript - Pythonソケットの問題:ブラウザに関係なく、確実にPOSTされたデータを取得する方法は?

非同期通信のCOMETの概念を研究するために、ソケットモジュールを使用して小さなPython + Ajaxプログラム(最後にリストされています)を作成しました。

アイデアは、ブラウザが私のpythonプログラムを介して互いにリアルタイムでメッセージを送信できるようにすることです。

秘訣は、「GETmessages / ...」接続を開いて、メッセージが応答するのを待つことです。

私の問題は主にsocket.recvを介して持っているものの信頼性にあります...

FirefoxからPOSTすると、うまく機能しています。

ChromeまたはIEからPOSTすると、Pythonで取得する「データ」が空になります。

ブラウザ間のこの問題について誰か知っていますか?

一部のブラウザは、「recv」の受信を強制終了するEOFまたはその他の文字を挿入していますか?

この問題に知られている解決策はありますか?

Pythonのserver.py:

HTML + Javascriptのclient.html:

0 投票する
4 に答える
4512 参照

javascript - Safari で HTTP ストリーミング コメットは可能ですか?

HTTP Streaming Comet とは、サーバーからデータがプッシュされた後に接続を閉じない "forever iframe" / "forever xhr" のバリエーションを意味します。すべてのサーバー プッシュ イベント。

dojo.io.cometd パッケージを調べたところ、ポーリングの実装しかないようです。this exampleも見つけましたが、かなりの調整を行った後でも webkit では機能しないようです (他の場所でも機能するようになりました)。サファリ ブログからのこのアナウンスは、 xhr で可能であることを示唆しているようですが、コードやドキュメントを見つけることができず、動作させることもできませんでした。

Webkit ブラウザー (Safari および Chrome) で HTTP ストリーミング コメットを実現する手法、スクリプト、ライブラリ、またはデモを知っている人はいますか?

アップデート

もう少しいじくり回した後、XHR 経由で Safari で http ストリーミングを機能させるには、次の 2 つのことを行う必要があることがわかりました。

  • 応答には Content-Type が必要です: multipart/x-mixed-replace
  • ブラウザーが一貫して更新を表示し始める前に、応答でいくつかの「ノイズ」文字を送信する必要があります。これは、内部バッファーを満たすことに関係していると思います。

更新 2

iframe 技術を使用して、最終的にすべてのブラウザーで動作するようになりました。このソリューションの注意点は、WebKit ベースのブラウザーのみが multipart/x-mixed-replace ヘッダーを受け取る必要があるということです。

0 投票する
3 に答える
1315 参照

open-source - Tomcat 5.5 で使用することをお勧めするオープンソースの comet/reverse-ajax ライブラリはどれですか? なんで?

コメット/リバース ajax アプリケーションのスケーリングに対処する Jetty 6.0 の継続を見てきました。

Tomcat 5.5 で使用できる他のライブラリ/フレームワークはありますか?

0 投票する
1 に答える
459 参照

internet-explorer - Orbited Powered ページのリロード後に IE7 が失敗する

Orbitedを利用した Web サイトで作業していますが、IE7 で厄介な動作が発生しています。FF3 ではすべてがうまく機能しますが、IE7 では、ページをリロードするとエラーが繰り返し発生します。

つまり、サイトを最初に閲覧したときは IE7 で動作しますが、リロード後に壊れます。私は Orbited 0.7.0 を実行しており、CometDaily でこのチュートリアルに従っています。私のコードは、次の例外を除いてチュートリアル コードと同じです。

  1. 代わりに実際のドメインを持つサーバーを使用して、ローカルホストでサイトを実行していません。もちろん、すべてのリンクはそれに応じて更新されます。
  2. 静的ファイル (index.html) は、Orbited デーモンによって提供されるのではなく、Django/Lighttpd によってポート 80 で提供されます。Orbited はポート 8000 で実行されています。

さて、奇妙な部分です。localhost で実行している場合、この問題は発生しません。

Orbited.js は、Orbited デーモンと通信するために 1 つまたは 2 つの iframe を作成することを知っています。ここに何らかの問題があると推測していますが、この分野に関する私の知識は限られています。

私のアプリに何が起こっているのか誰でも理解できますか? 記録として、この問題を回避するためにメタ タグの後にスクリプト タグを配置することについて読んだことがあります。悲しいことに、それは私の問題を解決しません。チュートリアル コードにはメタ タグすらありません。念のために追加しました。

BR // フレドリック

0 投票する
1 に答える
1886 参照

objective-c - Web サーバーへの永続的な接続 (Web 上の AJAX など)

アプリにデータをプッシュできるように、Cometd サーバーと通信するプログラムを作成したいと考えています。

私は AJAX を使用して Web 側でこれを行いましたが、Cocoa でこれを行う最善の方法が少しわかりません。

NSURLRequest と NSURLConnection を使用して標準接続を確立できますが、必要なときにデータを送信し、必要なときにプッシュされた情報を取得できるように、この接続を維持するにはどうすればよいでしょうか。

私はこれを正しい方法で行っていますか?

前もって感謝します

0 投票する
9 に答える
1430 参照

javascript - Ajax「新しいコンテンツはありますか?もしそうなら、ページを更新してください」-サーバーを壊さずにこれを行う方法は?

これは、「まだありますか?」と継続的に尋ねるJavaScriptの単純なケースです。車の運転で4歳のように..しかし、親のように、これを頻繁に行うか、一度に多くの子供がいる場合、サーバーは圧力を受けて座屈します。

5秒ごとに新しいコンテンツを検索し、より多くの訪問者を許可するWebページがあるという問題をどのように解決しますか?