問題タブ [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.
php - ユーザー入力を失わずに PHP 自動更新ページ
PHP コラボレーション ソフトウェア プロジェクトに取り組んでいます。データベースにコンテンツを追加している他のユーザーからの最新の更新を表示するページがありますが、ユーザーがテキストを入力できるフォーム入力もあります。現在、このコードを使用して、30 秒ごとにページを自動的に更新しています。
問題は、ヘッダー コードがデータベースから取得したものだけでなく、ページ全体を更新することです。ページ全体を更新せずにデータベースから新しいデータを取得する PHP コードはありますか?
誰かが私を正しい方向に向けることができれば、私はそれを感謝します.
java - サーバーの状態をポーリングする方法
ローカル サーバーのグループのすべてのステータスを表示する JSP ページを作成しようとしています。現在、定期的にポーリングしてサーバーのステータスを 30 秒間隔でチェックし、各サーバーの応答を待機するために 5 秒の遅延を設定し、JSP ページに情報を提供するスケジュール クラスを作成しています。ただし、スケジュールクラスの情報が更新されるまでに時間がかかるため、この方法は正確ではありません。ローカルネットワーク内の複数のサーバーのステータスを確認するより良い方法はありますか?
- アップデート -
@Romain Hippeau と @dpyrne の回答に感謝します
現在、サーバー側でコードをさらに作成しようとしています。つまり、更新のためにサーバーのグループのステータスを非同期で常にチェックして、応答性を高めています。ただし、クライアントにはサーバーの状態を制御する機能があることを付け加えるのを忘れていました。したがって、たとえば、クライアントがサーバーのステータスを変更してからページを更新すると、問題が発生します。ページが更新されていないスケジュール クラスから情報を取得すると、代わりにサーバーの以前のステータスが表示されます。
wcf - すべての Silverlight ポーリングでサーバー上で実行するカスタム コード。(ポーリングデュプレックス)
Silverlight クライアントが毎回サーバーにポーリングして接続を維持するときに、カスタム コードを実行することは可能ですか。私のアプリケーションは、silverlight3 から入手できるコメット スタイルのポーリング二重通信の実装です。すべてのポーリングで次の SOAP メッセージを送信することがわかりました。
java - モニタリングDB:MySQL
私はアドバイスを求めるために書いています。mysqlデータベースで特定の「挿入」を監視する必要があります。これを行うにはどのように便利ですか?アプリケーションはサーブレットとMySQLを使用します。どうもありがとうございます
flash - フラッシュキャッシングの問題?
次の問題があります。
データベース テーブルをチェックし、結果を JSON 形式でフラッシュ アプリに返す WCF サービスがあります。
Flash アプリは、レコードの準備が整うまで 2 秒ごとに WCF サービスをポーリングします。問題は、最初のリクエストの後、サービスが二度とヒットしないため、フラッシュがリクエストをキャッシュしているように見えることです!
クエリ文字列に乱数を追加することで回避策を見つけましたが、これよりも良い方法が必要ですか??
どんな入力でも大歓迎です。
乾杯
ajax - この世界からCometプログラミングとWebベースのチャット
現在のプロジェクト設定
私はFacebookチャットと同様にWebベースのチャットに取り組んできました。現在の状態では、着信チャットをリッスンし、既存のチャットの新しいメッセージを確認します...
...そうsetTimeout()
することで、これらの関数が常に実行されていることを確認します。開いているチャットウィンドウの数によっては、Firebugのコンソールがサーバーに夢中になる可能性がPOST
あります:)
明らかにこれは本当に非効率的ですが、それは私が物事を機能させることができる唯一の方法です。今、私はそれをより良くする方法、それを正しく行う方法を探しています!
いくつかの研究
今、 Cometプログラミングについて聞いたことがあり、これがサーバーとの長寿命のHTTP接続を開く方法であると聞きましたが、Cometの背後にあるテクノロジーやアイデアに精通していません。HTML5用のWebSocketはおそらくさらに優れていますが、それは本格的ではなく、すべてのブラウザーでサポートされているわけではないので、機能するものに固執します。
ウィキペディアによると、Cometスタイルで開発する方法はいくつかあります。ストリーミング(非表示のiFrame、XMLHttpRequest)または長いポーリングを使用するAJAX(XMLHttpRequest、スクリプトタグ)です。しかし、私はこれについて何も知りません。AJAX Push Engine(APE)についても読んだことがあり、見た目はかっこいいですが、当面はサードパーティを使用したくありません。
最近WebChat2.0に出くわしたので、ソースコードを調べて、すべてがどのように機能するかを理解しようと思います。
質問に移ります
では、この種のプロジェクトを開始する方法に関するサンプルコード/チュートリアルはどこにありますか?コメットテクニックをどのように実装しますか?サーバーとの長期間有効なHTTP接続を設定するにはどうすればよいですか?
linux - 投票がクラッシュを引き起こしている
次の値でクラッシュします:-
Pollは、「errno」を24(EMFILE)として指定する使用中のシステムコールであり、structpollfdの値は「fd= 1022、events = 1、revents=32」です。
ここでは、「fd = 1022」で目覚めていますが、なぜ「errno」が24と表示されているのですか(EMFILE /開いているファイルが多すぎます/)
無限ループで動作する複数のスレッドがあります。
jquery - サーバーのポーリング方法に何か問題がありますか?
データベースから何かがあるときに、phpファイルから投稿を取得しようとしています。
これは、投稿リクエストを送信する js スクリプトです (jquery と smartupdater プラグインを使用しています)。
そして私のphpファイル:
何が悪いのかわからない、私はすべて間違っているのですか?
jsonp - JSONP で更新をポーリングする方法は?
1 分に 1 回データを更新する Web サーバーがあり、そのデータをあらゆる種類のクライアントが利用できるようにしたいと考えています。帯域幅を削減するために、IF-MODIFIED-SINCE および/または IF-NONE-MATCH を使用して、条件付き GET をサポートするように PHP スクリプトをセットアップしました。クライアントは 30 秒ごとにポーリングできるため、何も見逃すことはなく、重複したデータを取得することもありません。
これはすべて、ほとんどの種類のクライアントでうまく機能し、標準の HTTP 条件付き GET セマンティクスをサポートするクライアントで機能することを確認しました。
しかし、JSONP は <script> タグを DOM に挿入し、ブラウザーに処理させるため、JavaScript では機能しません。また、<script> タグでの条件付き GET はサポートされていません (少なくとも、私が知っているものはありません)。
そこで、etag 値の受け渡しをサポートするように PHP スクリプトを変更しました。返されたデータには、その分に固有の etag 値が含まれています。JavaScript クライアントは、サーバーからデータを受信すると、etag 値を保存して、後続の要求でその値を使用できるようにします。リクエストの形式は次のとおりです。
データの etag が渡された etag と一致しない場合は、新しいデータを送信します。
これはすべてうまく機能し、jQuery を使用して驚くほど簡単にコーディングできました。私のジレンマは、etag が一致した場合にどうするかということです。2 つの選択肢があります。
- HTTP 304 を返す (未変更)
- HTTP 200 (OK) を返しますが、返されるデータにはヘッダー情報 (変更日、etag など) のみが含まれ、実際のデータ項目は含まれません。
最初に実行すると、JavaScript クライアント コードが大幅に簡素化されます。挿入された <script> タグに対して 304 応答が返された場合、ブラウザーは正常に動作しているように見えます。しかし...この解決策について何か気になります。それが何であるかはわかりませんが、ブラウザ固有の可能性のある動作に依存しているようです。一部のブラウザーは、304 を受け取った場合にエラーを報告することを決定する場合があります。
2 番目の方法を実行すると、サーバーでの作業が少し増え、帯域幅が少し増えます。また、クライアントはデータが更新されたかどうかを確認するためにデータをチェックする必要があります。誰にとってもより多くの作業ですが、よりクリーンに見えます。
それで、私の質問に。このデータを取得するために JavaScript クライアントを作成しているとしたら、どちらを選びますか? あなたの「成功」コールバックを決して呼び出さない静かな失敗?それとも、(ステータス以外の) データを含まない「成功」の戻り値ですか? 第三の選択肢?
c - ファイル記述子のポーリング
プログラムで開いているファイルのファイル記述子をポーリングする次のプログラムを作成しました。
無限ループに陥っています。ファイルに何らかの操作が発生したときにループを実行することを期待しています。(ASCII ファイルです) plz help