谷本 心 in せろ部屋

はてなダイアリーから引っ越してきました

javeline teleportって。

S2Javelinと紛らわしいな(汗
さて、以前id:mopemopeさんに、Ajaxを使ったプッシュサーバライクな処理(Cometと呼ばれているらしい)について聞かれたので、簡単にまとめ。チャットを作るイメージで。

  1. Client : Ajaxサーブレットに問い合わせ。
  2. Server : 現在までのログを返す。
  3. Client : ログを表示。更に現在時刻を「前回問い合わせ時刻」として保持。
  4. Client : Ajaxで再度サーブレットに問い合わせ。引数として「前回問い合わせ時刻」を渡す。
  5. Server : 「問い合わせ時刻」以降に変更があれば、差分を返す。
  6. Server : 変更がなければ、コネクションは繋ぎっ放し。
  7. Server : 変更が発生したら、差分を返す。

以下、繰り返し。
これを実装したのは、もう1年以上も前になるんだけど、当時はHTML + 自前のJS + 生Servletでゴリゴリ実装してました。今回、改めてS2JSF + s2-ajax-SNAPSHOT-5でサクっとチャットでも作ろうかと思って書き始めたら、、、あっさり破綻した orz
なんか、意外と面倒な箇所が多い。


せっかくだから、TeedaAjax-demoに沿って、やってみるかー。