問題タブ [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.
jquery - ロングポーリングの場合、他のリクエストに時間がかかるのはなぜですか?
クライアントは 2 つの同時要求を行います。(1 つは 60 秒かかります - 長いポーリング)、もう 1 つは長いポーリングではありません - すぐに戻るはずです。長いポーリングをしていないときは、すぐに戻ります。しかし、他のスレッドで長いポーリングを開始するとすぐに、他のスレッドの実行に永遠に時間がかかります。
Firebug は、リクエストが 10 ~ 50 秒間待機していることを示しています。サーバー上で、php スクリプトが開始されてからクライアントに戻るまでのすべてのリクエストをプロファイリングしました。
この問題は、(他の XHR リクエストを使用して) ロング ポーリングを開始したのとほぼ同じ時期に始まりました。私は両方のリクエストにjqueryを使用しています。
サーバーは、負荷が非常に低いことを示しています。CPU とメモリが 2% 未満。15 個のプールから 8 個のプロセスが実行されています。各プロセスは複数の ajax スレッドを同時に実行できると思います。
実行が完了するとすぐに、すべてのプロセスから必ず終了するようにしました。prstat -J の下にまだ 7 つの未使用のプロセスがリストされている場合、プロセス プールがどのように不足しているかわかりません。また、問題はやや断続的に発生します。Firefox は、2 つの同時 ajax リクエストを処理できるはずです。問題が何であるかわかりません。
c# - C#TCPサーバーのポーリング
みなさん、こんにちは。誰かが私を助けてくれるかどうか疑問に思っています。リアルタイムデータを受信するために、TCPサーバーを頻繁にポーリングする必要があります。
サーバーと通信するためにスレッドを作成する必要があることはわかっていますが、このポーリングを頻繁に行う方法がわかりません。
どんな助けもいただければ幸いです...
php - TCP/IP 経由で入力を受け取り、それを使用して HTML を更新する
これは FAQ でなければならないので、だれか「ダミーのためのネットワーク プログラミング」の URL に誘導してもらえませんか?
サーバーは、イベントが発生したときに、情報をクライアントにプッシュするか、すべてにブロードキャストしたいと考えています。これは、クライアントが「万が一に備えて」サーバーを常にポーリングするのとは対照的です。その後、クライアントはブラウザ ページの表示を更新します。
それ、どうやったら出来るの?(それはn00bの質問だったと言われました)
ソケットで情報を受信し、それをブラウザー表示 (PHP) が HTML リフレッシュ タグで処理できるデータベースに書き込むスレッドを用意する必要がありますか?
ばかげて申し訳ありません。
c++ - Mac OS X での非同期 I/O
C10K 問題を意味します。Mac OS X で非同期 I/O を実行する最良の方法は何ですか (Mac および iPhone/iPad で使用すると仮定)?
Linux ではepollを選択し、Windows ではI/O Completion Ports を選択します。
最優先事項は、パフォーマンスとスケーラビリティ (数千の接続) です。
アップデート
わかった。Darwin は BSD に似たシステムであるため、私の一般的な考えはkqueueを使用することです。これは正しい方向ですか?この分野で経験のある方のお話が聞けて良かったです。
ありがとう
bash - プロセスがいつ終了したかを検出する (ただし、終了していない)
UNIX で実行されるプログラム (制御できない) があり、終了すると「正常に完了しました」と出力されますが、終了しません。プロセスがいつ終了したかを (コマンドの出力をチェックして) 自動的に検出して、プロセスを強制終了し、他のアクティビティを続行できるようにしたいと考えています。複雑なのは、これらのスクリプトを複数同時に実行できるようにしたいためです。(実行する必要があるアクティビティの 1 つは、さまざまな入力でスクリプトを呼び出す必要がありますが、スクリプトを実行するたびに戻るのに時間がかかるため、それらを並行して実行したいと考えています)
誰かがこれに似たようなことをしましたか? コマンドの stderr および stdout 出力を、ランダムなファイル名を持つ一時ファイルにリダイレクトし、ファイルを末尾にして、終了条件 (つまり、特定のログ行) を grep にパイプすることができます。問題は、確かに tail -f が実行され続けるため、決して終了しないことです。投票する必要がありますか?もしそうなら、最善のアプローチは何ですか?
xml - XML ファイルの欠点の 1 つを補う
XML ファイルを使用して、プログラム、サービスが読み取って適用する一連のルールを保存しています。明らかに、XML ファイルに新しいルールを追加するときは、変更が有効になるようにサービスをバウンスする必要があります。
XML ルール ファイルが変更された場合にサービスをバウンスする必要がないように、XML ファイルを 30 秒ごとに「ポーリング」し続ける方法はありますか?
ありがとう
terminology - ポーリングとプルの違いは何ですか?
ポーリングとプル(ある場合)の違いは何ですか?
javascript - JavaScriptチャットのポーリングスクリプトをより効率的にするにはどうすればよいですか?
何らかの理由で、この新しいチャットメッセージのチェックにより、予想よりも多くのブラウザ(およびある程度のサーバー)の負荷が発生します。負荷を軽減するために、私がそれをより効率的にすることができる方法を誰かが見ていますか?
java - invokeLater()が呼び出されるのを待っています
私が以下で行っていることを行うためのよりエレガントな方法はありますか?つまり、Runnable.run()
メソッドがいつ呼び出されたかを知るために、ポーリングとスリープ、ポーリングとスリープなどよりもエレガントな方法はありinvokeLater()
ますか?
java - ポーリングせずに変数の変更を監視する
基本的にJavaアプレットであるProcessingというフレームワークを使用しています。アプレットができるので、重要なイベントを実行する機能があります。ある種の独自のコールバックを親にロールバックすることもできます。私は今それをしていません。おそらくそれが解決策です。今のところ、より POJO ソリューションを探しています。そこで、私の質問を説明するためにいくつかの例を書きました。
コマンド ライン (コンソール) でのキー イベントの使用は無視してください。確かにこれは非常にクリーンなソリューションですが、コマンド ラインでは不可能であり、実際のアプリはコマンド ライン アプリではありません。実際、キーイベントは私にとって良い解決策ですが、キーボード固有の問題だけでなく、イベントとポーリングを理解しようとしています。
これらの例はどちらもブール値を反転します。ブール値が反転したら、一度何かを発射したい。ブール値をオブジェクトにラップして、オブジェクトが変更された場合にイベントを発生させることもできます。不必要に if() ステートメントでポーリングしたくないだけです。
これを実行すると、次のように出力されます。
一部のフォーラムでは、オブザーバーの使用が提案されました。これにより、監視対象のクラスからイベント ハンドラーが分離されますが、まだ if() が永久ループにあります。
これを実行すると、次のように出力されます。
if() が CPU で NOOP だったとしても問題ありません。しかし、実際にはすべてのパスを比較しています。実際の CPU 負荷が表示されます。これは投票と同じくらい悪いことです。スリープでスロットルを戻すか、最後の更新からの経過時間を比較することはできますが、これはイベント駆動型ではありません。ポーリングが少ないだけです。では、どうすればこれをよりスマートに行うことができますか? ポーリングせずに POJO の変更を監視するにはどうすればよいですか?
C# には、プロパティと呼ばれる興味深いものがあるようです。私は C# の専門家ではないので、これは私が思うほど魔法のようなものではないかもしれません。