• 締切済み

情報が更新されたことを通知させる方法

php、perl、javascript(Ajax)、ActionScriptを勉強しています。 サイトにとある情報を常に最新の状態で表示させようと思っています。一定の間隔でリクエストを送れば簡単に作れる内容ですが、もっと効率的に動作させるべく「情報が更新されたと同時に」その時見ているサイト上でもそれが反映されるようにしたいのです。 感じとしては書き込みがされた瞬間、ログが更新されるチャットのようなものです。 これはどのような方法で実装すれば良いのでしょうか? サーバー側に特別なプログラム組んだりしないといけないのでしょうか?(試す環境がないのでできればこれ以外の方法でお願いします)。

みんなの回答

回答No.4

最新の状態だけわかればいいのならですが・・・ 誰かが見に来た時に、データが最新かチェック(古ければ更新する)をすれば良いんでは? 更新の蓄積が必要なら別ですが。 「常に最新」が「誰かが見に来た時に、常に最新」と言う事ですが・・・

noname#49664
noname#49664
回答No.3

最近登場した技術で、「リバースAJAX」と呼ばれるものを使うと、これが可能になります。これは、ページにアクセスした際にサーバへ非同期の接続を行い、その接続を保持したままにしておき、必要に応じてサーバからクライアントへ送信をしてクライアント側の表示などを操作する技術です。「リバースAJAX」で検索するといろいろと出てきます。 ただし、リバースAJAXはサーバに大きな負荷をかけます。従って、自前でサーバを用意するなら可能ですが、レンタルサーバなどでは相当な迷惑をかけることになりかねないので、導入は慎重に。

  • tk_uc
  • ベストアンサー率68% (33/48)
回答No.2

クライアントPCのブラウザで表示している内容を、サーバーのデータ更新に応じてリアルタイムで更新したいということでしょうか。 いわゆるプッシュ型のサービスになるのだと思いますが、その場合サーバー発クライアント着の接続が発生しますね。 PC側で待ち受けさせる必要があるわけですが、これは多くのユーザー環境ではルーターやファイアウォールではじかれるのでは? 質問でおっしゃっているように、定期接続して擬似的にリアルタイム更新するのが普通且つ現実的かと思います。 意図されていることと違っていたらごめんなさい。

noname#49428
noname#49428
回答No.1

残念ながら、一定の間隔でリクエストを送る以外には、 サーバーで特殊な仕組みを用意する必要があります。 一般的なのは、やはりAjaxでしょうね。 これに、cometというのがまさにこの機能を満たしてくれます。

関連するQ&A