タグ

cometに関するsaicologicのブックマーク (30)

  • http://rails.office.drecom.jp/takiuchi/archive/198

  • cometネタ,ふたたび - file-glob こと k.daibaの日記

    1対1チャット 1対1でチャットするcometベースの仕組みを作ってみました.クライアント側はまだブラッシュアップしてる最中ですが,サーバ側のコードは落ち着いてきたのでまとめてみます.このサーバは html, css, jsファイルのダウンロード /sendにクライアントが投げてきたpostメッセージの受信 /helloにクライアントがJSONで投げてきたgetメッセージの受信 受信したpostメッセージを,getメッセージへのresponseとして特定のクライアントにJSONP形式で送信 死活監視を兼ねて,システムにログイン中のユーザ一覧をgetメッセージへのresponseとして全クライアントにJSONP形式で送信 という機能を持っています. POE::Component::Server::HTTP my $server = POE::Component::Server::HTTP->

    cometネタ,ふたたび - file-glob こと k.daibaの日記
  • 2000万個のプロセスを動かすための並列モデル - 最速配信研究会(@yamaz)

    # タイトルは煽りです. 今週末ドリコムさんでCometとその周辺技術(イベント処理、Erlangなどなど)に関する勉強会が行われるので,ここ最近つらつら考えたり調べたりしてたことを外に出します.yamazはErlangの文法とかにはあまり興味がなく,2000万のプロセスが並列実行できるというそのモデルに興味があるので,とりあえずそこについて. なおいつもにも増して適当なこと書いてるので,適宜マユツバでお願いします.ツッコミ大歓迎. Erlangは1マシンで2000万のプロセスを並列実行させることができるらしい. http://www.atmarkit.co.jp/news/200704/27/erlang.html 私は並列言語はVHDLしか使ったことがなく,しかもVHDLはちゃんと 並列実行を行う要素が回路の形で実在するので,Erlangみたいに 1マシンで並列性を実現することに対して

    2000万個のプロセスを動かすための並列モデル - 最速配信研究会(@yamaz)
  • RubyForge: ShootingStar: Project Info

    Our goal is development of practical comet server which will be achieving over 100,000 simultaneous connections per host. On this purpose, we abandon portability and use system calls depending on particular OS such as epoll and kqueue. Development Status: 4 - Beta Environment: No Input/Output (Daemon) Intended Audience: Developers License: MIT/X Consortium License Natural Language: English, Japa

  • みかログ: 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多重化など実装がめんどくさい手法を使う必要もない. 普通に各リクエストの処理を書いて,新規

  • TheC10kProblem - 「C10K問題」(クライアント1万台問題)とは、ハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする問題のこと

    TheC10kProblem - 「C10K問題」(クライアント1万台問題)とは、ハードウェアの性能上は問題がなくても、あまりにもクライアントの数が多くなるとサーバがパンクする問題のこと 目次 この文書について C10K 問題 関連サイト まず読むべき I/O フレームワーク I/O 戦略 1. 各スレッドが複数のクライアントを受け付ける. そしてノンブロッキング I/O と レベル・トリガ型の完了通知を利用する. 伝統的な select() 伝統的な poll() /dev/poll kqueue() 2. 各スレッドが複数のクライアントを受け付ける. そしてノンブロッキング I/O と 変更型の完了通知(readiness change notification)を利用する. kqueue() epoll リアルタイム・シグナル fd 単位のシグナル (Signal-per-fd)

  • CNET Japan Blog - 江島健太郎 - Kenn's Clairvoyance:梅田サロン中止のお詫び、およびアーキテクチャ変更についての技術詳細レポート

    先週末に予定されていたJTPA企画の梅田さん主催オンラインサロンですが、会場に多くの人が集まるにつれてLingrが重くなってしまうという事態に陥ってしまい、まるでイベントの体をなさないまま時間が過ぎてしまい、あえなく中止となってしまいました。 当イベントを楽しみにしていた皆様、そして梅田さんはじめJTPAスタッフの方々には、当に申し訳なかったと思います。ここに改めてお詫び申し上げます。 Macworld 2007のときには180人を収容して何の問題もなく快適に使えていたので、「1000人はわからないけど、200人ぐらいなら大丈夫だろう」とたかをくくっていたのが間違いでした。 今回はその反省も含めて、内部で検証した技術情報をすべて公開し、どのような問題に直面し、どのように解決にあたっているのかをお伝えすることで、特に技術者の皆さんに役立つフィードバックにしたいと思います。 ■今回のアーキテ

  • 日記

    このブログを動かしているブログエンジンですが、地味にマイナーバージョンアップしていっています。 今回は、最近大手検索エンジンが軒並み対応を表明しているサイトマップファイルへの対応と、ブログについたコメントをウォッチしたい人向けにコメント一覧の RSS 出力も追加しました。 このブログのサイトマップファイル(sitemap.xml) このブログのコメント一覧 RSS 今までこのブログには、「ブログの全エントリ一覧」というページがあって、そのページ経由で上手く検索エンジンにインデックスされることを期待していて、実際、ほぼすべてのページがきちんとインデックスされているようでした。 しかし、私のブログのエントリ数が1000件を越えたあたりから、Google が全エントリ一覧のページをクロールする際にタイムアウトしているというレポートが Google ウェブマスターツールの方に表示されるよ

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

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

  • 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
  • おとこのCometアプリケーション! Jetty 6 Continuation入門まとめ(後編:その2) (recompile.net)

    « おとこのCometアプリケーション! 非モテのためのJetty 6 Continuation入門まとめ(後編:その1) | メイン | example.com にAレコードが振られているどころかApacheが元気に稼働中である件 » おとこのCometアプリケーション! Jetty 6 Continuation入門まとめ(後編:その2) このエントリーは、前回からの続きです。 サーバの実装 クライアント側の実装は、 リクエストを発行してから、カウンターの値が返ってくるまで待つlong-pollの仕組み ユーザからのイベントをうけて、カウンターの値を増加させるようにリクエストする仕組み というふたつに分類することができました。サーバ側についても、それぞれに対応するかたちで実装していきます。 Jetty 6では、Ajaxアプリケーションのために、org.mortbay.util.ajax.

  • 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

  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • CNET Japan Blog - 江島健太郎 - Kenn's Clairvoyance

    スティーブ・ジョブズとぼく 昨日は、何も手につかない一日でした。 ぼくにとって少年時代からのヒーローであり、人生の導きの星であった、アップル創業者のスティーブ・ジョブズが永遠の眠りについたからです。 直接の知り合いでもない... 首都圏のみなさんへ:西へ行こう 未曾有の大災厄となってしまった東北大震災。起きてしまったことを嘆いたり、電力会社や政府の対応を非難したり、努力や負担を負わずに安全地帯から良い活動をしたつもりになる自己満足的な行為であるスラックテ... ランキングのつくりかた 遅ればせながら、あけましておめでとうございます。 先週には、ベイエリアの友人たちがやっているEchofonがPostUpに買収されるなど、幸先のよい新年のスタートとなりました。 さて、最近ホットなマーケットとい... NoSQLの成功は1:10問題にかかっている ここ2-3年ほど、いわゆる非SQL系データベー

    CNET Japan Blog - 江島健太郎 - Kenn's Clairvoyance
  • 「足あとライブ!」

    昨日公開した、リアル・タイム・ページビューカウンター(RPV Counter)に関して、さっそくLingrの開発者の江島健太郎さんから「Webで読者が自分以外の人の存在の『気配』みたいなものが感じられるというのは面白いですよね。」というコメントをいただいた。それにに刺激されて今朝作ったのが「足あとライブ!」。自分の「気配」をもっと明示的に他の人に知らせる仕組みだ。 このブログの右上のページビュー・カウンターの下にある「足あとアイコン」は、クリックすると色を変えることができるのだが、その情報がCometサーバーを伝わって、同時にこのブログを見ている他の人のアイコンにも反映されるようになっているのだ。 ちなみに、Lingrとは、この「足あとライブ!」と同じく、CometサーバーによるPUSHの仕組みを使った「ブラウザ上で動くチャット」である。RPV Counterのデバッグ中に、クライアントか

  • Ajaxの“彗星”とともに現われたチャットサービス“Lingr”を使ってみた

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

    Ajaxの“彗星”とともに現われたチャットサービス“Lingr”を使ってみた
  • 【今トク】エミナルクリニック徳島院の気になる口コミまとめ&20代の本音口コミ10選

    最近オープンしたエミナルクリニックの徳島院がめっちゃ気になるなぁ。 医療脱毛なのにすごい安くていい評判も聞くけど、ほんとに痛くないのかな? 通っている人の口コミをみてみたいなぁー。 なんて気になったので、エミナルクリニックの徳島院についてSNSやネットで調べてみました。 そう思ってSNSを中心に調べてみたら、、、口コミや評判も良いじゃない♪ ちなみに、似たようなサービスや商品があるかも?なので、今回調べてみたのはこちらになります。 オープンしました! エミナルクリニックの徳島院ですが、すでにオープンしています!(2021年4月9日オープン済) もちろんですが、オープンしたてなんでめっちゃ予約が取りやすいです。 ただし!!人気のある医療脱毛院なので早めの予約が良いかも?!

  • http://rails.office.drecom.jp/takiuchi/archive/70

  • Juggernaut で遅延なしチャット - 僕は発展途上技術者

    ConnectiveChatというブラウザ上で動作するのだが、画面を再読み込みしたり、定期的にサーバーにポーリングすることなしに、即座にメッセージが表示されるチャットの存在を知った。このようなリアルタイムにページをアップデートする方法は、調べてみると、新しい Ajax のアプローチとして、Cometというらしい。 この Comet は、Rails ではJuggernautというプラグインで簡単に実現できるということなのでやってみた。Juggernautを使ってみる-Hello, world!が参考になる。 途中つまずいたのは、juggernaut_config.xml の設定。JuggernautのFAQページを読み違え、PUSH_PORTに1024番以上のポートを設定すべきところを間違えて適当に1024以下の空いてそうなポートを指定していた。 それと、Railsの開発環境だと、通常300

    Juggernaut で遅延なしチャット - 僕は発展途上技術者
  • Juggernaut

    The Juggernaut plugin for Ruby on Rails aims to revolutionize your Rails app by letting the server initiate a connection and push data to the client. In other words your app can have a real time connection to the server with the advantage of instant updates. Although the obvious use of this is for chat, the most exciting prospect is collaborative cms and wikis. What happens Client A opens socket