問題タブ [long-polling]
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.
java - JSF の長いポーリング - 選択肢は何ですか?
通知システムにロング ポールを実装する必要があります。現在、Primefaces ajax フレームワークを使用していますが、現在ロング ポールをサポートしていません。JSF 開発者が長いポーリングを実装したい場合、何が利用できるのだろうか? もう 1 つの質問: 通知システムについて、ロング ポールと Web プッシュのどちらが優先されますか?
注: JSF 2.0、Java EE 6、Glassfish 3.0.1 を使用しています。
mobile - 永続的な TCP 接続、長いタイムアウト、および IP ホッピング モバイル デバイス
HTTP 経由で長いポーリング スキームを使用するアプリがあります (ただし、この質問は TCP ベースのプロトコルに適用される可能性があります)。タイムアウトはかなり長く、30 分程度です。
モバイル デバイスが IP から IP へとかなり頻繁に (1 分おきに) ホップすることが時々見られます。これにより、数十の長期間有効なソケットがサーバーに蓄積されます。これが必要以上の負荷を引き起こしていると思わざるを得ません。
そのため、一部の IP ゲートウェイは、デバイスがホップオフしたときに接続を閉じるのに優れていると推測しています。これに対処するために私が考えることができる戦略は次のとおりです。
- タイムアウトを減らす (デバイスのバッテリー寿命を延ばす)
- ユーザーの再接続時に、最後にアクティブだった接続を閉じる (Cookie またはユーザー ID の追跡が必要)
他のもの?
ruby-on-rails - Rails非同期通信とxhrポーリング
バックグラウンドで別のサービスと非同期通信を行う Rails アプリケーション (JRuby) を作成する必要があります。ブラウザ セッションごとに 1 つの接続が必要です。(TCP 接続を開く必要はありませんが、セッションの終了後にリソースを解放する必要があります。) バックグラウンド サービスとの通信は、厳密な要求と応答ではありません。いつでも、サービスから rails アプリにメッセージが送信される可能性があります。
また、プロトコルを実装する必要があります。どうすればいいですか?Ruby on Rails 用の非同期フレームワーク (Twisted や Node.js など) はありますか? いくつかの出発点が必要です。
Python でクライアント側プロトコルの簡単な実装を既に作成しました。実際、完全なプロトコルは私が作成した (サーバーは JavaScript で記述されている) ため、プロトコルを完全に変更することができました。ただし、問題の性質上、非同期性を変更することはできません。
また、非同期の変更をブラウザーにプッシュするには、XHR ポーリング/WebSockets が必要です。そのための宝石/ハウツー/チュートリアルはありますか? リクエストをスリープに設定することはできません(リソース!)。
背景についてもっと知りたい場合: Rails アプリケーションはアクセシビリティ ツールです。それが通信するサービスは、実際には Web ページをロードしてレンダリングする Firefox アドオンです。非同期の性質は、(i) フレーム、ポップアップ ウィンドウ ( window.open()
、window.alert()
、...)、Rails アプリに伝達する必要がある DOM ツリーへの動的な変更、リダイレクト (フォーラムでポーズをとった後など) などに由来します。 RDF 処理に Jena (Java) フレームワークを使用する必要があるため、JRuby を使用します。
asp.net - IIS 7.5 でのロング ポーリング
チャットにロング ポーリングを使用する ASP.NET 3.5 Web アプリケーションがあります。新しいメッセージの非同期ハンドラーをロング ポーリングします。各リクエストは、閉じられて再接続されるまで最大 15 秒間続くことがあります。
アプリケーションは Visual Studio 組み込み Web サーバーを使用して正常に動作しますが、IIS (つまり IIS 7.5) に展開すると、約 10 人のユーザーがログインした後、長いポーリング要求が中止され始めます。
助けてください。
ruby-on-rails - レールでコメット/ロングポーリングを行う最良の方法は何ですか?
既存のライブラリまたはそれを実装する方法についての議論は問題ありません。スレッドのブロックを必要としない解決策を見つけようとしています。私はいくつかの解決策(ジャガーノートや軌道など)を見つけましたが、他に何があるか疑問に思っていました。
php - PHP アプリケーションでの REST API/Memcached の AJAX ロングポーリング
いいえ、1 つの質問のタイトルにいくつの流行語を入れられるかを調べようとしているわけではありません。
PHP アプリの cURL を介して、いくつかの Web サービスに対して REST 要求を行っています。アプリケーションの多くはこの API に依存しているため、これらのリクエストはかなり頻繁に行う必要があります。ただし、リクエストには深刻な遅延 (2 ~ 5 秒) があり、アプリが非常に遅く見えるだけです。
これらのリクエストを Memcached にキャッシュすることを推奨するソリューションへの道のりは途中ですが、アプリケーション内で発生するその種のレイテンシーにはまだ満足していません。
そこで、私の考えは次のとおりです。バックグラウンドで AJAX ロングポーリングを実装して、ユーザーが完全にレイテンシーを経験しないようにすることができます。REST リクエスト/Memcache ルックアップは、設定された間隔で AJAX を介してすべて実行されます。
しかし、これは私にとって本当に新しいことであり、これが最善のアプローチであるかどうかはわかりません. そして、私が正しい方向に進んでいれば、PHP + Apache がこのようなことをうまく処理できないことはわかっています。しかし、PHP は私が知っている唯一の言語です。理想的には、Tornado のようなものを Python でセットアップしたいと思っていますが、現在オーバー エンジニアリングを行っているかどうかはわかりません。
ここでの考えは役に立ち、非常に高く評価されます。
c# - InProc セッション管理を使用した同時 ASP.NET 要求
最初に、私が達成しようとしていることを述べさせてください。現在作業中のドキュメントに変更が加えられた場合、Web アプリケーションのユーザーに通知したいと考えています。ロングポーリングを使用して、目的の結果を達成するつもりです。ロング ポーリング ページ (タイムアウトが発生するまでの反復間で約 250 ミリ秒のポーリングとスリープ) に要求を送信し、Web サイトに別のページを同時にロードしようとすると、最初の要求が完了するまで 2 番目の要求がキューに入れられます。この問題の解決策はありますか? 事前に、Web ガーデンや InProc 以外の形式のセッション管理を使用することは、この状況では受け入れられません。ご協力いただきありがとうございます。
ajax - 複数のロングポーリング?
私はチャット アプリケーションを開発していますが、次のような考えに出会いました。サーバーに対して「複数の」長いポーリング リクエストを使用し、それぞれが異なる処理を行う必要があります。たとえば、メッセージのチェック、「入力中」のチェック、連絡先リストの「オンライン/オフライン」の管理などです。
php - PHP +コメット(ロングポーリング)スケーリング/ホスト
私は、彗星技術を使用したPHP / MySQLを使用してアプリケーションを開発しました。これは、非常に長いポーリングです。概念実証はうまく機能しますが、トラフィックが数千の同時接続=Webサーバー上の数千のオープン接続にすばやく到達することを期待しています。
私は自分のサーバーをセットアップする能力がなく(例えばlighttpdを使用して)、通常、他のWebプロジェクトのために月額5ドルの単純なPHPホスティングに依存しています。ただし、これらは、このように多数の同時オープン接続をサポートすることを目的としていないため、うまくいきません。
私の他のオプションは何ですか?コメットアプリケーションに特化したホストは見つかりませんでした。
ありがとう
.net - .NET の WinForms クライアントでロング ポーリングを使用する
.NET アプリケーション (基本的には WinForms クライアント) を開発する必要があります。このアプリケーションは、毎回ではなく必要な場合にのみ UI を更新するために、サーバーからのみ変更を通知する必要があります。
最初は NetTCPBinding を考えていましたが、ドメイン間のファイアウォールと安全なネットワークに問題があることを理解していました。現在、実行可能なオプションとしてロング ポーリングを検討していますが、これは WPF および XAML クライアントでのみ使用されていることがわかりました。
たとえば、 http://code.msdn.microsoft.com/duplexhttp
しかし、WinForms では何も見つかりませんでした。私の意見では、ロングポーリングは WCF と関係があり、(.NET 内で) どの UI テクノロジが使用されているかは関係ありません。
WinForms のカスタム WCF チャネルでロング ポーリングを使用できると思いますか?
POC を開発中ですが、あまり時間がありません。正しい方向への助けは大歓迎です。
どうもありがとうチャールズ