2012-04-27 5 views
1

Webアプリケーションとして共有カレンダーを作成しようとしています。誰かがカレンダーにイベントを追加すると、そのカレンダーを共有したすべての人にそのイベントも表示されます。誰かがイベントを作成すると、データをデータベースに送信するajaxを作成しました。サーバーからオンラインで他のクライアントにイベントを送信し、同じカレンダーを共有する方法はありますか?私は今、データベースから情報を絶え間なく 'リフレッシュ'することでそれをしました。 誰かがこれをどうやって作ることができるか分かっているなら、教えてください。サーバーイベントでクライアントに情報を送信します。

答えて

2

ブラウザに情報を「プッシュ」するようにWebサーバーに依頼すると、時間が経つという問題があります。これを処理する従来の方法は、定期的な間隔でサーバーに継続的に「ポーリング」して新しい情報があるかどうかを確認することです。あなたのケースでは、ページ上にいくつかのJSを持っていて、10秒ごとにAJAX呼び出しを行い、彼らが気づくべき新しいカレンダーイベントがあるかどうかを確認できます。これはあなたのWebサーバへの全体的なトラフィックを増加させるので、あなたのポーリング時間を適切に選択します。そうでなければ、あなたはこれらの "新しい何かがありますか?"ほとんどの時間がないと要求する。

もう少し最先端になりたい場合は、HTML5ウェブソケットをご覧ください。 "html5 websockets tutorial"のgoogle検索では、豊富なリソースが必要です。彼らは使用するのがやや難しく、サポートしているWebサーバーを実行している必要があります(おそらくそうです)。それをサポートしているブラウザでは、長期間のオープンな接続を維持して、Webサーバーからブラウザにデータをプッシュすることができ、JSは更新された情報で「onmessage」イベントをキャプチャします。 Googleであなたを指差しているのはより完全な答えからはずれるわけではありませんが、すでに多くの優れたチュートリアルがありますので、HTML WebSocketを探して、探しているものを手放すことができます。

+0

本当にありがとうRob、正直言って私はどこから始めてもわからなかったので、あなたのgoogle "html5 websockets tutorial"を指しているのは私が必要としていたものです。応援:) –

関連する問題