一週間ほど前から、WebSocket(hybi7, hybi10)がSocket.IOでサポートされるようになりました。
Socket.IO 0.8.0 with support for Firefox6 WebSockets and Chrome betas.
Server
0.8.0 / 2011-08-28
==================
* Added hybi7 support.
* Added hybi10 support. [einaros]
(Socket.IO Official MLより一部省略)
ChromiumのBlogやMozillaのDev Blogでも触れてますが、hybi7, hybi10で脆弱性に対応しています。
The WebSocket protocol specification is now largely stable, having solved previous security concerns.
Please upgrade your servers to ones which support HyBi 10.
http://blog.chromium.org/2011/08/new-websocket-protocol-secure-and.html
WebSocket の実装を最新仕様に対応
Firefox 6 では仕様上のセキュリティ問題が修正済みの WebSocket (ietf-07) がサポートされましたが、Firefox 7 ではその後の仕様更新 (ietf-10) に対応しています。
Firefox 7 の主な新機能を紹介します @ Mozilla Developer Street
Socket.IO@0.8.3に更新してみたところ、Websocketがどうしたことか動かない。firebugのコンソールを見てみると、”ws://hogehoge/への接続に失敗しました”なんたらと表示されている。しかも、Socket.IO 0.7xで動いていたxhr-pollingも動かないし、jsonp-pollingまで動かない。
公式のMLにもそんな話はのってないですし、最初はポートかなあとも思ったんですが、XHR-pollingは今まで問題なく動いてたので、おそらくローカルな問題が原因だと思い、googleってみると、やはりありました。
うーん、ちゃんと接続切れない。原因不明。
そういえばNOD32がのHTTPチェックがきいていた。でもこの前はsendが送れなかっただけのはず(その時はsocket.ioじゃなかったけど)http://d.hatena.ne.jp/motsat/20110411/1302530960
一応今回もHTTPチェックを解除。
そして、socket.io版のコードを試す。
接続切れなくなった。不思議なことが起こったら、NOD32を疑うことからはじめよう。忘れていました。
socket.ioのwebsocket接続がdisconnected、connectedを繰り返してしまう
Firewall (kaspersky/avast) blocked messages when I using websocket server (socket.io on node.js), what can i do? (except change default setting in firewall) port 8080 or 8000 thx a lot
どうやらNOD32, Avast!, Kasperskyあたりのウイルス対策ソフトはwebsocketでの通信を不正なアクセスか何かと誤認することがあるみたいです。
ウェブ関連の機能を停止したところ、ChromeもFirefox6も問題なく通信することができました。
たぶんFirefoxのxhr-pollingしか動作を確認してなかったから気づかなかっただけで、おそらく、0.7xでもchromeなどでは動いてなかったんだと思います。
