2011-12-21 5 views
1

私たちの新しい家のためのホームオートメーションウェブサイトを構築しているように、いくつかの教師のアドバイス/ヒントを探しています。家の中の各PC(約10〜15人)がタスク(例えば、映画、音楽、制御ライトなどを再生する)を実行するためにアクセスすることができるPHPウェブサイトを持っています。php/jqueryを使用してWebページにアラートをプッシュする最良の方法は?

このサイトでは、すべてのPCに便利なコピー/ペーストツールとしてメッセージを送信できるようにしたいと考えています(PC間のリンクをいつも別の部屋で表示する必要があります)。

これについてはどのような方法が最適ですか? x秒ごとにajaxリクエストを作成するjQueryスクリプトを用意する必要がありますか?私のPHPスクリプトはこれを行うべきですか?できるだけ効率的にしたいので、賢明な提案や賢明な言葉があれば幸いです。

+0

したがって、特定の問題があります。あなたは何をすべきかわからない。あなたのケースで何が役に立つとおっしゃいますか?これまでに試したこと、具体的な問題をコードで実行したことを知ることは役に立ちます。あなたが始まったことがない限り、あなた自身ではなくて、あなたのために働くものは誰でも言うことができますか? – hakre

答えて

0

メッセージのJSONを返すPHPのURLをポーリングするだけです。最後にチェックインしたときからスクリプトにメッセージを尋ねてください(ページ上のJavaScriptが最後のチェックインのグローバル変数を保持するため)。 1つは、すべてのメッセージを取得したくないので、ブラウザでページをロード/リロードするときです。そのため、PHP側では直近の5分または賢明な期間内にメッセージを返すようにしてください。

+0

なぜ各メッセージにIDを与えないのですか?あなたがメッセージを受け取った後、それ以来新しいメッセージを聞くことができます。これにより、重複するメッセージは確実に送信されません。 – hakre

+0

ええ、それはよかったです。したがって、最初の呼び出しはIDを渡さず、スクリプトは最後のx分のすべてのメッセージを返します。 – Tom

+0

たとえば、最後の10メッセージ程度です。 PCが10台ある場合は、おそらく最後の20メッセージです。 – hakre

1

あなたは実際に各PCにプッシュすることができないので、x秒ごとにリクエストすることができます(60秒未満は何もお勧めしません)。ここにいくつかの作品が必要になります。

  • 「メッセージング」を格納するデータベースに結び付けられたWebサービスを作成するのが最も効率的な方法です。
  • Webサービスを呼び出してメッセージをチェックし、それを画面に表示する(好きな方法で)ajaxスクリプト。

幸運。

+1

可能なクライアントの数が限られているため、Webサーバーが古いマシン上にない限り、1分に1回以上は狂っていません(私はなぜそれが必要なのか分かりませんが)。 – Tom

+0

@Tom私はあなたに同意します。この目的のために、優先度の低いタスク(このようなもの)をWebサービスサーバーにロードして、それが目的とするような優先度の高いタスクを優先することはありません。 – PseudoNinja

0

プッシャーAPIを使用することもできます。 http://pusher.com/docs x秒ごとにサーバーに照会するクライアントの代わりに、サーバーはリアルタイムでクライアントにデータをプッシュします。

関連する問題