最近のWebSocket事情についてまとめとく

最近のWebSocket事情についてまとめとく

id:Jxck(@Jxck_)さんからのリクエストもありましたので、現状でのWebSocket情報をまとめておきます。

※この情報は2010/9/1時点のものです。ご覧になっている時点の情報とは変わっている可能性があります。

※2010/9/1:いろいろ更新しました。


ざっくり説明

一言で説明すると、WebServerとWebBrowser用の双方向通信用のプロトコル

Server側からのプッシュができるので、XHRでポーリングする必要がない。

現行のWebSocket対応ブラウザ側には,same originポリシーによる制限はないようです。

仕様

最新版の仕様を確認してください。

The WebSocket API

日本語版は以下を参照

「仕様だけじゃよう分からん!」という人は以下を読むといいかも

※とりあえず一度動かしてみるとどんなものかわかるきがする。


大きな仕様変更

近頃仕様が大きく変わりました。draft75以前とdraft76以降はほぼ別ものです。

おおまかにいうと、ブラウザからサーバにつなぐときにハンドシェイクが必要なのですが、ハンドシェイクするときのヘッダ情報がかわりました。

詳しくは以下サイトを参照。

下の記事をみた感じだとまだまだ今後も仕様が変わりそうですね。


Serverの対応情報

今のところ私が把握しているサーバ実装です。


※最新版仕様の実装はpywebsocket,Goが対応が早かった。Chromeの実装確認用?( WebSocket draft 76 のサーバサイドの実装始めた方いますか? - html5-developers-jp | Google グループ )

node.js+Socket.IO+Socket.IO-nodeAdobe Flash Socketを使うことで、IEなど未対応のブラウザとも通信できるようにしています!素敵!(参考->node.jsのSocket IO-nodeでWebSocket - but hopeful)


Browserの対応情報

現状では75以前と76以降の両方に対応しているブラウザはありません。

ブラウザは最新版の仕様に追従しているみたいですね。

Browser75以前76
IE6~8××
Firefox3××
Firefox4×
Opera10.6××
Safari5×
Chrome4,5×
Chrome6×

※websocket.js(http://github.com/gimite/web-socket-js/)を使うことで、IEなど未対応のブラウザとも通信できる様子。上述のSocket-IO-Nodeも使っています。

ちょっと気になる発言をTwitterで発見!


どんなことに使われてるか

エコーサーバorチャットの例が多い感じ。面白そうな取り組みを紹介します。

その他
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值