タグ

cometに関するttakezawaのブックマーク (8)

  • Comet/Ajaxの上を行く技術 - Blog by Sadayuki Furuhashi

    上を行くかどうかは知りませんが :-p Ajaxはクライアントの都合でサーバーに通信を仕掛けるpull型の通信ができ、Cometはサーバーが好きなタイミングでクライアントへデータを送りつけるpush型の通信ができるわけですが、新たに双方向の通信ができる技術を開発しました。 具体的には、JavaScriptとサーバーの間で双方向のRPCができます。すなわち、サーバーからクライアント側のJavaScriptのメソッドが呼べるし、逆にクライアント側からサーバー側のメソッドを呼ぶこともできます。 サーバー側で call("addMessage", "Hello!") とやると、JavaScript側の function addMessage(msg) { ... } という関数が呼ばれたりします。 この技術を使って、試しにチャットシステムを作ってみました > デモ (ソースコード)*1 リアルタイ

    Comet/Ajaxの上を行く技術 - Blog by Sadayuki Furuhashi
  • [ネタ] Ruby on RailsでCometを実現する http_polling プラグイン (recompile.net)

    RailsのプラグインでCometなアプリケーションを簡単に書けるようになったら、うれしいかもしれません。Juggernautというものありますが、これは80番ポート以外をつかうので全然うれしくない。 そこで、書いてみました。polling_methodを指定してあげると、:wait_forで指定したアクションが実行されるまで、HTTPコネクションをつかんだままで、アクションの実行を待機します。 例えば、Controllerクラスは、次のようになります。 class CounterController :increment def count render :update do |page| page.replace_html 'count', @counter.count end end def increment @counter.increment! :count render_te

  • 最速インターフェース研究会 :: FirefoxでJSONPのロードされるタイミングを調べてみた

    Firefoxでのスクリプト読み込みの同時実行について http://d.hatena.ne.jp/shinichitomita/20061013/1160707042 を読んで。 Opera以外は読み込み順に実行されるよね、と思ってたんだけど、どうも違うみたいなので、わかりやすいようにサンプルを作ってみた。 http://la.ma.la/misc/sleep/ ウェイト入れてレスポンスを返すCGIを書いてロード。0,1,2,3って順番で表示されるはずだ、と思って実験してみたらSafariでしかうまくいかなかった。 色々試してみたけど、 - Safari: 並列リクエストされてロードされた順に実行。 - Firefox: 並列リクエストされるけど実行順は固定。 - IE: 並列リクエストされて実行順はほぼ固定?応答が遅いと後回しにされてるような気がする。 - Opera: 並列リクエスト

    ttakezawa
    ttakezawa 2007/02/27
    ブラウザ別のスクリプト要素が実行される順番
  • naoyaのはてなダイアリー - Perlでモダンなネットワークサーバーを書くには

    Comet については、普及するかどうかという以前に、どう使えばいいのか、正しく使った場合に何をどこまでできるのか、という理解が共有されていないように思います。なので、(あくまで私見ですが) 使用したスライドの一部を公開したいと思います。よろしければごらんください。 サイボウズラボの奥さんによる Comet のサーバー周りの資料。すばらしい。C10K に対してどのようなアーキテクチャをとるのが良いかとの考察が特に勉強になりました。 また、問題や改善すべき点があれば、教えていただければ幸いです。 というので問題、改善すべきというわけではないですが Perl 周りの話で少し補足を。 資料中の「初心者へのオススメが PoCo::Server::HTTP でパフォーマンスが欲しい人には Sys::Syscall qw/:epoll/」の点。おそらく Perl でも epoll を使えますよというこ

    naoyaのはてなダイアリー - Perlでモダンなネットワークサーバーを書くには
  • Webブラウザを使わないComet技術、“Lingr Radar”リリース ― @IT

    2007/01/26 米インフォテリアは1月26日、同社が提供する無償オンラインチャットサービス「Lingr」(リンガー)のAPIを公開したと発表した。同時に、Comet技術を用いてチャットルームの発言がリアルタイムにデスクトップに届くクライアントソフト「Lingr Radar」をリリースした。 「Lingr API」と名付けられたAPIを使うことで、一般のソフトウェア技術者は、Lingrのチャットサービスを自分のソフトウェアやブログ、デスクトップアクセサリなどに組み込める。Webブラウザ以外のソフトウェアへ組み込むこともできるため、オンラインゲームのチャット機能にLingrを使うといったこともできる。ただし、高負荷が予想される商用サービスでの利用については別途事前協議が必要。 LingrはAjaxを用い、Webブラウザでのみでリアルタイムのチャットが可能なサービスとして2006年8月にス

  • CodeZine:CometとAjaxを利用したチャットサーバの実装()

    はじめに 『簡単なHTTPサーバの自作』第5回目の今回は、クライアントとの通信に、ブラウザ自身によるリクエスト/レスポンスに加えてAjaxとCometを利用した簡単なチャットアプリケーションを実装します。 Webアプリケーションでチャットを実装する場合に考えなければならないのは、他の発言者のメッセージをどうやってブラウザへ反映させるかです。自分が発言する場合は、サーバへ対してメッセージが送信されます。従って応答データに現時点の発言を返せば済みます。しかし、この方法だけでは他の参加者の発言を発言時に読むことはできません。 この問題を解決する手段は複数あります。 次の図は最も原始的ですが、確実な『F5連打法』を図示したものです。 F5連打法では、ユーザーは最新の発言がありそうだと感じた時に[F5]を叩きます。するとブラウザが最新の情報をサーバへ取りに行くため、もし発言が更新されていればその情報

  • Jetty 6.0 Continuations、まとめ - FAX

    Jetty 6.0 Continuations、まとめ 技術 Jetty 6 Continuations(継続) - Ajax対応! このエントリは、上記エントリのまとめだ。私の思う要点は、以下2点。 クライアントのリアルタイムの更新を行う、大規模アプリケーションの作成には工夫がいる。 Gregさんの問題定義と解決が正しいとすると、Javaだけでなく、他の言語にも応用ができる。 JettyはAjaxアプリケーション向けに、JSP抜きの構成を提供している。 これは、先日の「エンタープライズAjaxアーキテクチャ」に対応する。EJBも、JSPも捨て、J2EEはサーブレットのみの時代まで戻るということだ。 問題とJettyの解決策 従来のモデル 1ユーザー(コネクション)あたり、1スレッド。 非常に活動的なコネクションを使うアプリケーションなら効率的。 実際は、そのようなアプリケーションは少ない

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

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

  • 1