タグ

cometに関するikebeのブックマーク (9)

  • Cometに代表されるサーバ・プッシュ技術の復権

    Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします。(編集部) サーバ・プッシュの歴史 Webアプリケーションが広まるにつれて、レスポンスやリアルタイム性を重視することが多くなってきました。Webアプリケーションの形式によっては、ユーザーが主体的に操作してデータを取得するよりも、サーバ側が必要と思われるデータを送り付けることが主体の場合もあります。 例えば、Webブラウザを利用したチャットであれば、通常ページが更新されるのはリロードされたタイミングですが、サーバ・プッシュ型の実装がなされている場合は、新しいメッセージが追加された瞬間に、参加ユーザー全員に伝搬されなければいけません。 Webブラウザを活用したサーバ・プッシュの手法は、古くはNets

    Cometに代表されるサーバ・プッシュ技術の復権
    ikebe
    ikebe 2008/01/23
  • ダウンロードたけし(寅年)の日記 - POEでログをtailするComet

    今更ながら、perl(POE)でCometっぽいものを書いてみようと思い挑戦してみました。 「Cometと言えばチャット」というくらい、サンプルや例題のほとんどがチャット関連のネタばかりなので、あえてそういう類いのものではなく、もっと地味なネタでせめてみようと思います。 ズバリ、ログ監視です。 「アクセスログをちょっと確認するだけなのに、いちいちコンソールから入ってtail -fするのが面倒」というズボラなひとに向けです。 まず要点を整理しておきますと、 ブラウザからログ監視をする ログ監視のON/OFFはブラウザから操作可能 Cometの方式はLong-Pollモデルを採用 サーバ側の実装は POE::Component::Server::HTTP と Wheel::FollowTail がメイン クライアント側はjavascript(Mini Ajax)を使って実装 です。 色々なbl

    ダウンロードたけし(寅年)の日記 - POEでログをtailするComet
  • IO::Pollでcometなチャットサーバを書いてみた - 遥かな時代の階段を

    perl側 #!/usr/bin/perl use strict; use warnings; use IO::Socket; use IO::Poll qw( POLLIN POLLOUT POLLHUP POLLERR ); use Data::Dumper; use HTTP::Request; use CGI; my $_timeout = 15; $SIG{ALRM} = \&timeout; alarm($_timeout); my $port = shift || 3000; my $server = IO::Socket::INET->new( LocalPort => $port, Listen => 10, Reuse => 1, ) or die $@; my $poll = IO::Poll->new(); $poll->mask( $server => POLLI

    IO::Pollでcometなチャットサーバを書いてみた - 遥かな時代の階段を
  • Kazuho@Cybozu Labs: Comet の正しい使い方

    « 「スーパー技術者争奪戦」 | メイン | JavaScript から Flash の便利な機能を使う方法 » 2007年02月23日 Comet の正しい使い方 今日会社の勉強会で Comet について話す機会がありました。 Comet については、普及するかどうかという以前に、どう使えばいいのか、正しく使った場合に何をどこまでできるのか、という理解が共有されていないように思います。なので、(あくまで私見ですが) 使用したスライドの一部を公開したいと思います。よろしければごらんください。また、問題や改善すべき点があれば、教えていただければ幸いです。

    ikebe
    ikebe 2007/02/25
  • 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 チャットサーバのスケーラビリティ - 酒日記 はてな支店
  • 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
  • Life is beautiful: JSON COMETでリアルタイム・ページビュー・カウンターを作ってみた

    最近Linuxの勉強もかねて作っているのが、超シンプルなアーキテクチャーのHTTPサーバー。そこそこ動き始めたのだが、それだけでは面白くないので、サーバー側からイベントに応じてデータをPushできるCometの機能を足してみた。 ストレステストのために、昨日からこのブログにこっそりとテスト用のIFRAMEを貼り付けてあったのだが(そのおかげで、バグを三つばかり見つけることができた―感謝、感謝^^)、安定して動き始めたので、見栄えを整えてこのブログの右上に貼り付けてみた。 題して、「リアルタイム・ページビュー・カウンター(RPV Counter)」。Totalはこのカウンターをリセットしてからのページビューの数、Currentはその時点でこのブログを見ている人の数(ただしノイズあり)、PeakはCurrentの過去最大値だが、ページを再ロードせずとも、それぞれのカウンターが自動的にアップデー

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

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

    ikebe
    ikebe 2006/09/22
  • Cometd - The Scalable Comet Framework

    Maximum flexibility with Publish-Subscribe, Peer-to-Peer and Remote-Call choices.

    ikebe
    ikebe 2006/07/12
  • 1