タグ

cometに関するMOZZのブックマーク (4)

  • PoCo::HTTP で Comet チャットサーバを作る - daily dayflower

    せっかくのイベントドリブンフレームワークな POE ですから Comet でチャットをやってみようかと。ありきたりですが。 POE::Component::* でウェブサーバを立ち上げられるのは現在のところ, POE::Component::Server::HTTPServer POE::Component::Server::SimpleHTTP POE::Component::Server::HTTP の3つがあります。1番目は最近 inactive なのでパス。2番目は「イベントフレームワーク」への馴染みはいいんですが「Simple」じゃなくなってます。3番目はコールバック関数を登録するというお気楽スタイルなんですがちょっと雑な感じ。 今回は楽をするために3番目の PoCo::HTTP を使ってみたいと思います。id:naoya 氏も最近紹介してましたし。 URI の設計指針は, チャ

    PoCo::HTTP で Comet チャットサーバを作る - daily dayflower
    MOZZ
    MOZZ 2007/03/04
  • long-pullによるデータPush - ピーエーネット技術研究所:技術レポート

    long-pullによるデータPush Cometでポーリングをおこなうlong-poll(Ajax-poll?)というスタイルもあります。 クライアントからの要求をうけたサーバは、HTTPリクエストを一時停止(suspend)し、タイムアウトか非同期イベントが発生した後に、再開(resume)し、クライアントに応答します。HTTPリクエストを一時停止している間、クライアントはサーバからの応答を待つことになります。 サーバからの応答があった時点で、ポーリングのように再び要求を出すことで、HTTPコネクションをつかみっぱなしにしている状態を仮想化します(※1)。 クライアント⇔サーバ間の通信負荷はデータの更新速度次第ですが、従来のWebアプリケーションよりは軽減されます。 また、サーバの負荷もHTTPコネクションを毎回作成しているので、資源の解放が可能になります。 ただし、クライアントからの

  • Spread Toolkit で Comet チャットサーバをクラスタリング - 酒日記 はてな支店

    PoCo::HTTP で Comet チャットサーバを作る - daily dayflower を試してみた。面白い。 ついでに spread を使って、Comet チャットサーバをクラスタリングする実験をしてみる。 POE::Kernel->run(); の前に、PoCo::SpreadClient もセットアップ。 use POE::Component::SpreadClient; POE::Component::SpreadClient->spawn( 'spread' ); POE::Session->create( inline_states => { _start => \&spread_start, _sp_message => \&spread_message, } ); POE::Kernel->run(); sub spread_start { $poe_kernel-

    Spread Toolkit で Comet チャットサーバをクラスタリング - 酒日記 はてな支店
  • PoCo::HTTP による Comet チャットサーバのスケーラビリティ - 酒日記 はてな支店

    せっかくのイベントドリブンフレームワークな POE ですから Comet でチャットをやってみようかと。 http://d.hatena.ne.jp/dayflower/20061116/1163663677 こちらの POE::Component::HTTP による Comet チャットサーバですが、どのぐらいの接続まで耐えられるのか? 実験。 クライアントとして、HTTP::Async を使って同時接続を張りまくるスクリプトを用意。 #!/usr/bin/perl use HTTP::Async; use HTTP::Request; use Time::HiRes qw/time/; use strict; my $slots = shift || 20; my $async = HTTP::Async->new( slots => $slots ); my $req = HTTP:

    PoCo::HTTP による Comet チャットサーバのスケーラビリティ - 酒日記 はてな支店
  • 1