タグ

cometに関するqptaroのブックマーク (18)

  • Kazuho@Cybozu Labs: 高速なCometサーバを書いてみた件

    « Pathtraq 最新ランキング ガジェットを公開しました | メイン | Q4M (Queue for MySQL) 0.3 リリース » 2008年03月10日 高速なCometサーバを書いてみた件 もう昨年の2月になりますが、Comet について調査を行いました。その際の成果をまとめたスライドは既に公開していた (Comet の正しい使い方) のですが、同時に実際に作ってみた実装についても、オープンソース化することとなりました。コードは CodeRepos に置いておきますので、どうぞご覧ください。 (Revision 7754: /lang/perl/fastr) 使い方は example ディレクトリ以下を見ていただくとして、ベンチマークの結果とチューニング手法について、記録と記憶に残っている範囲からまとめておきたいと思います。 パフォーマンスについて まず、パフォーマンスに

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

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

    Cometに代表されるサーバ・プッシュ技術の復権
    qptaro
    qptaro 2008/01/24
  • Tomcat 6で実現! Ajaxを超える通信技術Comet (1/3) - @IT

    Tomcat 6で実現!Ajaxを超える通信技術Comet:Tomcatはどこまで“安全”にできるのか?(3)(1/3 ページ) Ajaxを超える? Tomcat 6で搭載されたCometとは? 前回はTomcatを“安全”に活用するために、ツールを使った運用の仕方やTomcatの設定について解説しました。 今回はTomcatの安全性から少し離れて、Tomcat 6の新機能の利用方法について解説します。Tomcat 6では、いくつかの大きな拡張がありましたが、今回はJ2SE 1.5で実装されたNew I/O APIjava.nioパッケージ)を用いたComet(コメット)通信について解説します。 おさらい 「通常のHTTPでの通信」 通常のHTTPでの通信はクライアントのWebブラウザなどからサーバへリクエストを送信し、サーバはリクエストを解釈してレスポンスを返します。つまり、通信のタイ

    Tomcat 6で実現! Ajaxを超える通信技術Comet (1/3) - @IT
  • みかログ: ErlangでComet

    ErlangでCometしてみた. (iframe方式は結局だめそうなので,Cometに) Comet チャットサンプル 実装はきわめて手抜きです.あくまでサンプルとして. ソース: chat.erl (22行.etsテーブルの初期化) chat.yaws (72行.サーバ側の実装) index.html (52行.HTML+JS) ※別途jqueryが必要 こんだけ短いソースでも,ちゃんとCometできるし,C10Kにも対応できる.(問題はいろいろあるコードだけど) いろいろちゃんと実装したとしても,かなりシンプルに仕上がると思う. Comet の正しい使い方で紹介されているプログラミングモデルのどれにも当てはまらない新しい方式,といえるかも. Cometのために特殊な実装をする必要もないし,I/O多重化など実装がめんどくさい手法を使う必要もない. 普通に各リクエストの処理を書いて,新規

  • 自分なりのcometまとめ - id:k-z-h

    Perlでモダンなネットワークサーバーを書くには - naoyaのはてなダイアリーKazuho@Cybozu Labs: Comet の正しい使い方 PoCo::HTTP で Comet チャットサーバを作る - daily dayflower2007-02-09 - 酒日記 はてな支店cometの抱える問題点クロスドメイン制約専用サーバにする場合、HTTPデフォルトの80ポートはapacheなりlighttpdで使いたいから、8080なり8888なり別のポートを使うことになる。その場合IEやOperaなら問題ないのだけれど、FireFoxはクロスドメイン制約に引っかかってXHRが使えないらしい。/(^o^)\ナンテコッタイしかもRFC2616によると、同じホストに対して張れるセションが2〜4。そのため複数のセションを貼りたいとき(ex. 複数のチャットルームに入室)はサブドメインを切って

    qptaro
    qptaro 2007/04/08
  • Bulknews::Subtech - Cometd

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    Bulknews::Subtech - Cometd
  • 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
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 「Web2.0とC10Kに関する数々の誤解」の誤解 - 最速配信研究会(@yamaz)

    前エントリWeb2.0とC10Kに関する数々の誤解に関してはいろいろツッコミをいただいた(ありがとうございます). 名無し 『誤読した上にえらそうに微妙な解説するあたり恥ずかしすぎます。』 えらそうで微妙な解説なのはまぁそうなので否定しないが,誤読とはなんのことだろう? こういうときは今はやりの「スルー力」を発揮するのが大人のインターネットかと思ったけれど, 私のBlogが扱う内容は非常に狭く,さらにそれに対して突っ込もうと思う人の 意見はなにかしらの真実が含まれるはずと考えていたところ,下記エントリがあった. 元記事の人は上でいう 3,6 あたりを書いていて,id:yamaz さんは 3 するなら 4 とか常識だろ,と噛みついているように読めました。. なるほど,私の前エントリは@ITの元記事に対して噛みついているように 読めるようだ(言われてみればたしかにそう読める). 実際の所は元記

    「Web2.0とC10Kに関する数々の誤解」の誤解 - 最速配信研究会(@yamaz)
  • 最速配信研究会 - Web2.0とC10Kに関する数々の誤解

    Web2.0 = Ajax/Cometなの?とかプロセスIDは今でも16ビットなの?とかはサテオキ、 個々のクライアントがサーバに要求する処理量は小さなものでハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする――。これが最近Web開発者の間で話題となっている「C10K問題」(クライアント1万台問題)だ。 AjaxやCometなどのクライアント側技術に伴うサーバ側の問題に関していろいろ誤解があるようなので,書いておきたい.きっとlingrの中の人はこの記事読んでニヤニヤしてるはず. 以下、記事にないことも書いてあるのでそのつもりで. 誤解その1 AjaxによるWebアプリの台頭でサーバ側の負荷が増大する Ajaxの典型的な使い方はサーバに問い合わせてページの一部分だけを 変化させるというモノだ.これはページ全体を書き換える従来の方法と違い, すでに

    最速配信研究会 - Web2.0とC10Kに関する数々の誤解
  • Web2.0の先にあるC10K問題 ― @IT

    個々のクライアントがサーバに要求する処理量は小さなものでハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする――。これが最近Web開発者の間で話題となっている「C10K問題」(クライアント1万台問題)だ。 プロセス番号が足りなくなる パンクするのは例えばプロセス番号だ。 Ajaxの実装として最近注目されている技術に“Comet”(コメット)と呼ばれるものがある。HTTPのセッションをあえて切断せずに、サーバとクライアント間でつなぎっぱなしにするテクニックだ。Cometを使えばクライアントからのリクエストに応えるだけでなく、サーバ側からも不定期に情報を送り出すことができる。例えば、Web上でチャットサービスを実装するには、通常はクライアント側からサーバに一定間隔でポーリングすることで、ほかのユーザーの発言分をサーバから取得して表示するが、Cometの

  • Live Page-View Counter, Comet server and JSON-push

    Overview A "page-view counter" or "hit counter" is a mechanism that displays the number of page-views on an HTML page. It uses a server side of script that counts the page-views, dynamically generates an HTML page on the server side, and returns it back to the browser. Although it accurately displays the number of page-views at the point when the HTTP request was made to fetch the HTML page, it wi

  • Lingr: Chatrooms for the people

    Lingr provides the best chatrooms on the web. It's free, and requires no account. You can browse the hottest rooms and tags to find people to chat with. You can create your own rooms, and have them open to the public or hidden and private.what is Lingr? Lingr is an open community of chatrooms. You can chat about anything you want, in public or private rooms. No account is required, and no special

  • CNET Japan Blog - 江島健太郎 - Kenn's Clairvoyance:Lingr(リンガー)をリリースしました

    日の日経産業新聞で一面を飾ったのでお気づきの方もいらっしゃると思いますが、私の米国チームにおける最初の成果となる新サービス「Lingr(リンガー)」をリリースしました。 サービス内容についてはオフィシャルブログの方に書いた通りですが、おそらく英語のままだとほとんど読まれないと思うので、以下に翻訳バージョンを記載します。 Lingrは、一言で言えば「ブラウザ上で動くチャット」です。 ハイライトは以下の通り。 お手軽さ。Lingrでは何もインストールしなくてもブラウザ(Firefox, Safari, IEをサポートしています)だけでサクサクと軽快な操作感でチャットができます。この感覚は実際にさわってみないとわからない! ホット・タグ。各チャットルームにはタグ(キーワード)をつけることができ、これが常時リアルタイムに集計されているので、「今、どういう話題がアツいか」をタグ・クラウドを通じて知

  • Life is beautiful: JSON COMETでリアルタイム・ページビュー・カウンターを作ってみた

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

  • Web 2.0の挑戦者:超軽快なウェブチャットLingr

    Lingrの江島健太郎氏とその他のメンバーがメールでのインタビューに応じてくれた(2006年9月22日)。 Lingrはどのようなサービスを提供するWebアプリケーションですか。 これはウェブベースのチャットサービスです。他のサービスよりも優れている点を挙げると、1. プラグインなしでも非常に軽くて速い。2. 登録の必要がない。3. タグを通じて利用者同士を繋ぐ機能を持つ。4. チャットルーム内に画像や動画を直接貼ることができる。5. 非公開のチャットルームも作れる。6. チャットのログがすべてアーカイブされる、という点で、これらが差別化点です。 このプロジェクトを始めたきっかけは何ですか。 Lingrは「Comet」と呼ばれる技術を試しに使ってみようということで始めたものです。もっとも、そのころにはCometという名前もついていませんでした。この技術は、ブラウザとサーバのコネクションを維

    Web 2.0の挑戦者:超軽快なウェブチャットLingr
  • Ajaxの“彗星”とともに現われたチャットサービス“Lingr”を使ってみた

    AJAXは洗剤の名前!? スパムメールの“スパム”が、もともとアメリカに古くからあるハムの缶詰の商品名をもじったものだと知らない人はいまどき少ないだろうが、最近話題の“Ajax”(エイジャックス:Asynchronous JavaScript and XML)が、アメリカで販売されている洗剤のブランド名をもじったものだと知らない人はいるのではないだろうか。 WikipediaでAjaxの項を引いて、もう少し“Ajax”という名前の元をたどると、それはギリシア神話に出てくる英雄の名前だったり、小惑星の名前だったり、はたまた16世紀末にイギリスで発明された水洗トイレのことだったりするようだが、ここでは、それはどうでもいい。 IT業界では昔から製品名やプロジェクト名を付けるときに、まず略称ありき、という遊びがよく行われる。たとえば東京工業大学の大規模分散スパコン、“TSUBAME(ツバメ)”とい

    Ajaxの“彗星”とともに現われたチャットサービス“Lingr”を使ってみた
  • CNET Japan Blog - 江島健太郎 / Kenn's Clairvoyance:Lingr and Comet - 技術解説編

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

  • 1