問題タブ [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.

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

javascript - Socket.IO のサーバー部分を実装するためのドキュメントはありますか?

NodeJS サーバー実装を使用したくありません。サーバー実装でサポートする必要があるプロトコルは何ですか? 技術的な詳細はどこで確認できますか?

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

android - ロングポーリング vs Apple プッシュ通知サービス & Android C2DM

リアルタイムの制約があるモバイル アプリケーションを構築しています。したがって、スタックオーバーフローに目を向けてアドバイスと意見を取得し、実行中にアプリケーションの状態を更新するための最良のソリューションを決定しようとします。

  1. サーバーへのロングポーリングまたは直接接続に依存する
  2. Apple Push Notification Service と Android C2DM に依存

APNS と C2DM は、アプリケーションが実行されているかどうかに関係なく、通知をプッシュするための統一されたインターフェイスを提供するという事実を超えて、カスタム ソリューション (ロング ポーリングまたは直接接続に基づく) はより柔軟で、遅延への依存度が低いと言えます。 Apple & Android キュー。

私が見る限り、議論のほとんどは、スマートフォンで接続を開く場合と比較して、接続を開いたままにしておくために消費するバッテリーのコストの比較から生じていると思います.

したがって、私は特に次の 2 つのことに関心があります。

  • APNS と C2DM の経験
  • スマートフォンで TCP 接続を開いたままにしておくことのすべての意味の詳細。

参考文献大歓迎!ありがとう!

0 投票する
2 に答える
2341 参照

javascript - ロングポーリングサーバーの原則 (クライアント認証)

正常に動作する長いポーリング サーバーがあるとします。新しいクライアントが Web サイトに接続すると (認証なしで匿名として接続するだけです)、新しい GUID が発行され、署名付き Cookie に保存されます。クライアントとサーバー。

ここで、クライアントはログインして、認証されたユーザーとして続行したいと考えています。問題は、ロング ポール サーバー (node.js) と Web フレームワーク (ASP.NET) がスタンドアロン システムとして動作していることです。ASP.NET (MVC) 固有の認証メカニズムを使用して、Web フレームワークの観点からログインできますが、これは長いポーリング サーバー (私はまだ GUID 担当者として知られています) には影響しません。ロングポールサーバーの観点からユーザーを安全に認証するにはどうすればよいですか? このシナリオの「ベスト プラクティス」はありますか? 認証されたクライアントは、認証手順の後、一意のキー (GUID の代わりにメール アドレスとしましょう) によってさらに識別される必要があります。

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

javascript - リアルタイムWebアプリケーションのショートポーリングとロングポーリングの違いは?

私はリアルタイムのWebアプリケーションを構築しています。私が知る限り、最も人気のある選択肢は、短いポーリングと長いポーリングです。どちらか一方を測定することには、どのような長所と短所がありますか?

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

php - 長いポーリングは、ユーザーがページを終了するときに問題を引き起こします

私のロングポーリングシステムはPHPとjQueryを使用して実行されていますが、開発中に問題が発生しました。

ユーザーがページを終了すると、「jam」のように見え、AJAXリクエストは残っているようで、終了しません。

誰もがこれを防ぐ/克服する方法を知っていますか?

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

http - http push-sslを使用したhttpストリーミング方式-プロキシはhttpsトラフィックに干渉しますか?

私の質問は、HTTPサーバープッシュを実現するためのHTTPストリーミング方法に関連しています。

「HTTPストリーミング」メカニズムは、リクエストを無期限に開いたままにします。サーバーがクライアントにデータをプッシュした後でも、要求を終了したり、接続を閉じたりすることはありません。このメカニズムにより、クライアントとサーバーが接続を開いたり閉じたりする必要がなくなるため、ネットワークの待ち時間が大幅に短縮されます。

HTTPストリーミングメカニズムは、リクエストや接続を終了することなく、同じ応答で複数の情報を送信するサーバーの機能に基づいています。この結果は、HTTP/1.1サーバーとHTTP/1.0サーバーの両方で実現できます。

HTTPプロトコルを使用すると、サーバーからクライアントへの応答の送信に仲介者(プロキシ、透過プロキシ、ゲートウェイなど)を関与させることができます。仲介者が部分的な応答をすぐに転送する必要はなく、クライアントにデータを送信する前に応答全体をバッファリングすることは合法です(たとえば、透過プロキシのキャッシュ)。HTTPストリーミングはそのような仲介者では機能しません。

HTTPSを使用する場合、プロキシサーバーで説明されている問題を回避できますか?

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

javascript - 開いている接続が放棄されたコメットの問題

ロングポーリングやフォーエバーフレームなどのコメットテクニックを使用しています。クロス サブドメインのものに iframe を使用しています。これらの手法を実装しているときに遭遇した 1 つの問題は、ユーザーがページを更新したり別のページに移動したりして新しい要求が発生したときに、comet 接続が古いページから開かれたままになることです。私のサーバー (トルネード) は接続を閉じることはありません。制限された Wireshark 機能から、送信された TCP fin パケットが表示されません。ただし、ブラウザを閉じると、その時点でソケットが閉じられます。

これらの放棄されたオープン接続は、正当な理由もなくサーバー側のメモリを使い果たしています。また、サーバーがオープン ソケットに何らかのメッセージを送信し、IE がエラー メッセージ「解放されたスクリプトからコードを実行できません」を正しく表示すると、問題が発生します。そのため、IE は移動元の古いウィンドウでコードを実行しようとしています。他の人々はこの問題をどのように扱っていますか? どういうわけか接続を閉じるために onbeforeunload を使用する必要がありますか?

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

php - ロングポーリング中のリバースプロキシとしてのNginx

バックエンド サーバーとして apache を使用しています。これは、php スクリプトを実行し、nginx を静的コンテンツを処理するリバース プロキシ サーバーとして実行します。いくつかのプロセスの ID を提供し、このプロセスを実行する php スクリプト (かなり長い)。そのプロセスの ID のみをブラウザーに渡す必要があります。

(別の ajax スクリプトでプロセスのステータスを確認します)

これは、apache だけで問題なく動作します。しかし、Apache が nginx の背後にあると問題が発生します。この場合、プロセスが完全に終了した場合にのみ応答を受け取ります。

nginx 設定:

しかし、私はまだ FireBug で Connection keep-alive を取得しています。

nginx に apache からすぐに応答させるにはどうすればよいですか?

質問が明確であることを願っています。

ありがとう。

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

apache-flex - Longpolling チャネルで FlexClient の切断を検出する

私はチャット システムを開発しており、longpolling チャネルを使用して、Java で FlexClient 切断を検出する必要があります。

この種類のチャネルにはまだいくつかのバグがあるため、ストリーミング チャネルを使用できません。どうすればこれを達成できるかについて何か提案はありますか? BlazeDSを使用しています。

よろしく。

0 投票する
2 に答える
1566 参照

php - 長いポーリング/cometphpバックエンドが正しいデータをフラッシュしない-初心者の質問

本当にシンプルなコメットテストページをまとめようとしています。#TextHistoryのdivIDを持つメインクライアントページがあります。このページのjavascriptは、javascriptを使用して値を更新し、それをクライアントページにフラッシュバックするbackend.phpへのオープン接続を作成する必要があります。これを正しく行っているかどうかは本当にわかりません...基本的な「ロングポーリング」を実装するにはどうすればよいですか?

私が見つけたのは、クライアントページ(FireFox)で、backend.phpが何も返さず、10秒後にタイムアウトしたようです。backend.phpのphpループを削除すると、常に「DefaultData」が返され、すぐにTextHistoryDIVに追加されます。近くにいるような気がしますが、何か間違ったことをしています。ここでの奇妙なフォーマットについて申し訳ありませんが、一部のヘッダーとphpタグは許可されていないようです。

クライアント側:

呼び出されるBackend.php:

次に、デフォルトのhtml doctype、head、meta、jquery include、

その後、体内で: