2012-03-11 3 views
0

私は包括的なGoogleの調査を行ったが、良い解決策を見つけることができなかったので、どんな助け(または次の調査の方向性を示していても)は本当に感謝しているだろう!私は必要なものユーザーのブラウザの更新を同期する

は発想が単純であるが、実現するのは難しいように見えます:

私が持っているデータ(画像だけを言う)、私は非常に同じ時間で、ウェブサイトのすべての(でも匿名)ユーザーに表示したいです。このデータは定期的に(たとえば5分に1回)変更する必要があるため、すべてのユーザーのブラウザを所定の時間内に更新する必要があります。

woflowは単純です:

  • ユーザーは、(ユーザーが接続してきたときの依存、各ユーザのためのコース異なる時間で表示されます)カウントダウンでページを開きます。

  • カウントダウンの最後に、接続されたユーザーのすべてのブラウザが新しいコンテンツを表示するように更新されます。

  • リフレッシュは、データがまだ変更されていないときに早すぎるリフレッシュを防ぐためにサーバーによって理想的に呼び出されるべきです。

私は、metaタグを「リフレッシュ」を考えていたが、それはSEOのための問題であり、それはユーザーのコンピュータの時計に依存しています。

これはjavascriptで行うことができますが、その瞬間に私はユーザーのコンピュータの時計に依存しています。

私は、サーバーからブラウザへのデータのプッシュが可能であると聞いています。 Perl、それは正しいです(どこかの例がありますか?)

そして、どのスクリプト言語で "目を覚ます"スクリプトを作成しますか?私はPHPで道を見ることができません。私は慣れ親しんでいます(cronを使用して、毎分のスクリプトをカウントするのは本当に醜いです)...

ありがとう!

ミハル

+0

これはおそらくStack OverflowまたはWebアプリケーションサイトに属しています。 –

+0

StackOverflowにも移行することに同意しました。 –

答えて

1

これは、HTTPのリクエスト・レスポンスのアーキテクチャを考えると、ウェブブラワーにウェブサーバからデータをプッシュすることはできません。ただし、JavaScriptとwindow.setInterval()を使用してWebサーバーをポーリングすることは可能です。 AJAXと組み合わせる

ローカルシステム時間を使用しない場合は、次のデータの再ロードが開始されるまでのマイクロ秒単位の定期的なAJAX要求に応答しないでください。 META REFRESHまたはwindow.locationでブラウザをリフレッシュする代わりに、AJAXを使用することをお勧めします。

サーバ側のコードは本当に何でもかまいません。次回のスケジュールがリフレッシュされるまでのマイクロ秒数を返すページが必要です(リフレッシュがまだスケジュールされていない場合はエラーが発生します。数秒で)。

+0

ありがとう、私はこれが唯一の解決策であることを恐れていました。 –

関連する問題