タグ

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

  • PHPとjQueryでCometっぽいモノを実装する - Rewish

    クライアントからのリクエストに対してすぐに応答せず溜めておき、何らかのタイミングを見計らって応答する技術。 Comet - Wikipedia 例えばチャットなんかで使うと、相手が発言したタイミングでレスポンスが返ってくるので、リアルタイムに会話が出来たりする訳です。 ※あくまでも実装の一例なので、このままでは利用シーンがかなり限定される事をご留意下さい。 注意事項 以下の実装方法は、知識的なコストがあまり必要ない替わりに、サーバー的なコストを多く消費します。 共有レンタルサーバーなんかで使うと、アカウント制限・停止などの処置がとられる場合があるので、共有で使うスペースなどでの使用は避け、専用サーバーや自前のサーバーなどで使用して下さい。 Comet動作の流れ 大まかな流れはこんな感じです。 Ajax(XMLHttpRequest)を利用してサーバー(PHP)にリクエストを送る リクエスト

    PHPとjQueryでCometっぽいモノを実装する - Rewish
  • AjaxプログラマのためのJavaOne2008 -GrizzlyでComet!-

    JavaOne 2008から一ヶ月が過ぎ、様々な現地レポートが揃いました。JavaOneはもちろんJavaのお祭りですので、これらのレポートではJavaFXJava EE/SEの動向が目玉となっています。しかし、近年のJavaOneではJavaだけに限らず様々な分野の話題を扱うようになっています。例えば先日公開されたセッション資料から、「Next Generation Web」や「Tools and Script Language」のトラックを見てみましょう。AjaxやJavaScriptRubyといったキーワードが続いているのが解るでしょうか。実際の発表でも「Java にあまり関係ないんだけど・・」と始める発表者が多かったのが印象的でした。JavaVMが多様な言語のプラットフォームとなったように、JavaOne も先端技術の統合的なカンファレンスになりつつあると言えるでしょう。 著

    AjaxプログラマのためのJavaOne2008 -GrizzlyでComet!-
  • Aerial(エアリアル) - Ajax/Cometの次を行く リアルタイム双方向RPC - Blog by Sadayuki Furuhashi

    JavaScript - サーバー間で双方向のRPC通信を行う技術は「Aerial」(エアリアル)という名前になりました*1。アイディアを出していただいた皆様、ありがとうございましたm(_ _)m Aerialは、通信にFlashを使い、JavaScriptとサーバープログラムとの間で双方向のRPC呼び出しを行う技術です。つまり、サーバー側からJavaScriptのメソッドを呼び出したり、逆にJavaScriptからサーバー側のプログラムを呼び出したりします。 サーバーから直接JavaScriptのコードを呼び出したり、逆にJavaScriptからサーバー側のメソッドを呼び出したりできるので、通信の内容を意識する必要がなく、バグの混入を抑えます。RPC成分入り! ライブラリを開発するときも、HTTPやブラウザ間の実装の違いを意識する必要も無く、ごく普通のTCP接続で通信を行うので、Come

    Aerial(エアリアル) - Ajax/Cometの次を行く リアルタイム双方向RPC - Blog by Sadayuki Furuhashi
  • Kazuho@Cybozu Labs: Comet の正しい使い方

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

  • WebベースのチャットシステムをCometで·Comets MOONGIFT

    先日、Lingrのサービス停止が発表された。ビジネス的には難しい面もあったが、技術的には興味深いものだった。特にCometについては、Lingrではじめて知ったという人も多かったのではないだろうか。 Rubyで実装されたComet Webブラウザベースながら擬似的な持続的接続を可能にするCometを手軽に体験してみたい、という方はCometsを試そう。 今回紹介するフリーウェアはComets、RubyベースのCometエンジンだ。ソースコードは公開されているがライセンスは明記されていなかったのでご注意いただきたい。 はじめにお断りしておくと、Cometsはまだ完全な実装ではないようで途中で接続が切れてしまう。最近話題のSinatraをフレームワークに用いており、アプリケーションサーバはMongrelを使っている。 Firefoxから アプリケーションとしてはベーシックなチャットアプリケーシ

    WebベースのチャットシステムをCometで·Comets MOONGIFT
  • Rubyで疑似Cometを実装してみた。

    追記:Firefox+Firebugじゃないと動かないような感じがしたので急いで修正 業務連絡:そろそろ書かないとやばいので書きます。というかほかの人書いてくださいよ!リーダー! Ruby@ApacheCGIでCometを実装してみた。 ソースは3つに分かれてまう。 index.html(表示部) comet.js(Javascriptクライアント) comet.rb(CGI) すべてgist.github.comにあげました。 http://gist.github.com/129015 Cometを一行で解説 ずっと読み込んでて、イベント(チャットに発言されたとか)がきたらその内容を出力して、クライアントが再接続するの繰り返し! 何をイベントにするか 「あるメッセージを任意のタイミングで送信して、クライアントで表示」めんどくさい。 「毎0秒がイベント」簡単そう! というわけですぐ実装しま

    Rubyで疑似Cometを実装してみた。
  • 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)

  • Lingr and Comet - 技術解説編:Kenn's Clairvoyance

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

    Lingr and Comet - 技術解説編:Kenn's Clairvoyance
  • 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
  • 1