タグ

chatに関するhiro-takのブックマーク (3)

  • CNET Japan Blog - 江島健太郎 / Kenn's Clairvoyance:Lingr and Comet - 技術解説編

    さて、お待たせしました。いよいよCometとLingrについての技術解説です。 ■Comet解説 さて、まずはCometとは何で、どういう背景によって生まれたのか、についての解説から始めます。 まず前提として、Webアプリケーションにおいては、通信開始のトリガーは常にクライアント側が握っています。つまりURLを入力したりボタンをクリックしたときなどに通信が発生することになるわけですが、このようなアーキテクチャは、サーバ側で発生した変化をリアルタイムにクライアント側に通知することが原理的にできないことを意味します。 チャット・アプリケーションでは、複数のユーザから不定期にメッセージが送信され、それが他の参加者に一斉に配信されなければなりません。しかし、メッセージを受け取ったサーバ側では、それをクライアントに即座にプッシュで通知する方法がないのです。 そのため、一定期間ごとにブラウザがサーバに

  • 更新履歴兼雑記 - 2006年04月09日 AJA Chat

    sayさん にたいていの AJAX は Asynchronous では無い、と教えてもらったので、真に Asynchronous なチャットを作りました。あと XML 関係無いので AJA です。 http://shinh.skr.jp/chat/ とりあえず上記を見ていただいてもよくわからないのですが、えーといかに Asynchronous かどうかを確認するには、他の人と一緒に入るか、一人で複数種類のブラウザを立ち上げて別名でログインすると良いと思います。残念ながら同一ブラウザで複数入るとか、同じログイン名で入るとかするとおかしいことになります。 えーとそんでなんというか。要するにたいていの AJAX は Asynchronous と言いつつも1秒おきだのでポーリングしてるわけですね。しかしそれでは1秒おきにしか発言が来ないしサーバに1秒おきにアクセスするし…でイマイチなわけです。 で

    更新履歴兼雑記 - 2006年04月09日 AJA Chat
  • リアルタイムなチャット (2) - まちゅダイアリー (2006-04-11)

    2006-04-11 興味があったので、先日の日記に書いた AJA Chat のソースを読んでみた。 基構造 index.cgi / typing.cgi: ログイン画面およびチャット画面を表示する。特に処理はやっていない。 serv.cgi: XMLHttpRequest() からの接続を受けつける。発言が更新されたらレスポンスを返す。30秒以内に発言が更新されなければ(write.cgiからシグナルがこなければ)タイムアウトとする。 write.cgi: XMLHttpRequest() 経由で発言を受信する。受信したら serv.cgi へシグナルを送る。 index.cgi 処理順にソースを眺めていく。 25 u = @cgi['u'].to_s 26 if (u == '') 27 print %Q( 28 </head> 29 <body> # 以下ログイン画面の HTML

    リアルタイムなチャット (2) - まちゅダイアリー (2006-04-11)
  • 1