HTML5関連で、Web Socketが話題になることが増えてきました。 その中で、Web Socketはブラウザで生のTCPが扱えるようになった!いや、違うよ。生のTCPじゃないよ!と言ったことをよく目にします。 lighttpd 1.4.x用のmod_websocketを個人的に作成している為、そういった疑問に対しての参考になりましたら、と。勿論、間違ってたらご指摘ください。(^-^; Web Socketとは ブラウザ(上のJavascript Program)で生のTCPを扱えるように策定されたプロトコルです。 なぜ、そう言うのか、順を追って説明します。(ごめんなさい、やっぱりちょっと修正しておきます) ブラウザがどう動いているのか? まず、Web Socketを利用する際、ブラウザがどのように動いているのかを説明します。また、Web Socketには、ws schemeとwss
僕が先日書いたエントリー websocketでpipelineをすると、感動的に早い!! ですが、高橋登史朗さんのご厚意でネットに公開していただきました。 ありがとうございます>高橋さんm(__)m わかち書き ルビ さて、こちらのサンプルサイトですが、"via websocket"と"via xhr"とで比較すると、10倍以上のレスポンスの違いを体験される方が多いと思います(多分)。ちなみに、僕の自宅環境(東京)では、今測ったところwebsocketが150msecぐらいで、xhrが3秒ぐらいでした。おそらく、東京から離れるにしたがって、その差は大きくなると思います。(websocketの結果は殆ど変わらず、xhrの結果だけが増大していくはず) こちらのデモでは、文章を文で区切り("。"や"."で split)、文単位で、解析リクエストをサーバーに要求しています。なので、デフォルトの"坊
Jetty-7.0.1 has been extended with a WebSocket server implementation based on the same scalable asynchronous IO infrastructure of Jetty and integrated into the Jetty Servlet container.WebSocket came out of work on HTML5 by the What Working Group to specify a mechanism to allow two way communications to a browsers. It is currently being standardized at the W3C for the WebSocket API and by the IET
pywebsocketというPython製のwebsocketを利用するためのApacheモジュールがあるらしいので、ちょっとだけ見てみました。ちなみにこのエントリはPythonとはあまり関係がありません。興味を持ったきっかけは、現状のApacheでC10Kをどうやって解決してwebsocketを実装したのだろうということです。結論は残念ながら単にApacheでwebsocketを利用するためだけのものでした。ただ、現状のインフラでちょっとだけ実用的にwebsocketを遊べるのはそれはそれですばらしいことです。僕がgolangで書いたサンプル、もしくはgolangはまだ実環境で使える代物ではないし。 Apacheはスレッドモデルで動きます。一つのリクエストが一つのスレッドを占有します。WebSocket自体は、AJAXによる定期的なポーリングやcometによるロングポーリングよりはオーバ
By Ilya Grigorik on December 22, 2009 WebSockets are one of the most underappreciated innovations in HTML5. Unlike local storage, canvas, web workers, or even video playback, the benefits of the WebSocket API are not immediately apparent to the end user. In fact, over the course of the past decade we have invented a dozen technologies to solve the problem of asynchronous and bi-directional communi
を設定してください。(Example:で、 # LoadModule foo_module modules/mod_foo.so と書かれている箇所があるので、その下部あたりがわかりやすいと思います。 (インストール(2)を書いていても、このAddHandler設定はしたほうが良いと思う。。。:p)
WebSocketの仕組みはまだ、ちゃんと調べていませんが、昨日の続き。Chromeを立ち上げてreloadすると、netstatで見たコネクションの数が一個だったのが二個に増えます。一つのブラウザで三個以上になることはありませんが、気持ち悪いです。 window.onunload = function() {ws.close();};などして、明示的に接続を切ってあげると、コネクションは二個に増殖することはありません。closeを呼んであげないと、サーバの方で接続がまだ維持されているかのように振る舞い続けます。つまり、readは待ち続けるし、writeに至ってはちゃんと書き込めたかのようにみえます。 で、機能のサンプルは書き込み、読み込みそれぞれ、goroutineが作られるので、うれしくありません。クライアントがcloseをコールするとちゃんと、読み込み・書き込みでエラーというかEOF
HTML5のWeb Socketを、Flashの力を借りて実装してみました。 gimite / web-socket-js - GitHub Web SocketはHTML5に入る(予定の?)機能で、JavaScriptから生のTCP Socketに近いもの*1を使えるようにしよう、というものです。 2009年11月頃にChromeの開発版で実装されましたが、ほかのブラウザでは未実装です。このライブラリを使うと、すべてのブラウザで(Flashが入っていれば)Web Socketが使えるようになります。 使い方はこんな感じです。 // おまじないその1: JavaScriptライブラリの読み込み <script type="text/javascript" src="swfobject.js"></script> <script type="text/javascript" src="web
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く