• ベストアンサー

サーバ側からリクエストしてくれるようなシステム

現在は普通に Ajaxで20秒に一回サーバにアクセスして、変更があった部分だけを受信してページに反映する みたいなシステムがあるのですが、 サーバ側で変更された部分が出てきた という瞬間にサーバ側から、ページを開いているユーザに対して変更部分を送信するような、 リアルタイムで接続されているかのように見えるシステムをPHPで作りたいと思っています。 やはりそういうシステムというものは1秒や0.5秒ごとにAjaxでサーバに問い合わせているものなのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#94983
noname#94983
回答No.2

まあ、どうしてもというなら、「リバースAjax」という技術がある。これは、Javaをベースとしたフレームワークの「DWR」などに実装されているのだが、要するにAjaxで問い合わせをした接続をサーバーがずっと別スレッドで保持し続け、何らかの更新があったらその接続ですぐにクライアントを更新させる、というもの。 実際、ためしに動かしたことはあるが、サーバー側の更新はほぼリアルタイムにクライアントに伝えられ表示が更新されるのは確か。DWR以外にもリバースAjaxが使えるフレームワークはいくつかあったように思う。 ただし、接続されたAjax通信をすべて保持し続けるため、サーバー側にかなりな負担がかかる。専用サーバーならいいが、レンタルサーバーのようなところではサーバー管理者側から文句をいわれる可能性はある。

mizutaki
質問者

お礼

なるほど、普通のレンタルサーバでやるのは無理ですか。 ありがとうございました

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

サーバーがデータを受け取れるのはクライアントが接続したときの ヘッダだけです。 サーバー側から送信するというはhttpの仕組みではありません。 リアルタイムに近いものをhttpに求めるのはきびしいです。 Ajaxでも秒単位で要求するような仕組みはすぐ破綻する可能性が高いのでは?

mizutaki
質問者

お礼

なるほど、やはりhttp上で行うのは難しいのですね。 ありがとうございました。

関連するQ&A