10月 202014
socket.io 1.1.xに対応した、socket.io-client-simple gem 1.1.2を今朝リリースした。
これを使うとrubyでsocket.ioサーバーに接続できる。
https://rubygems.org/gems/socket.io-client-simple
Comparing v1.0.0…v1.1.2 · shokai/ruby-socket.io-client-simple
1.1.2のクライアントでsocket.ioサーバー1.0系に日本語を送ると文字化けするので注意してほしい。「ああ」が「BB」になったり「はい」が「oD」に化ける。
socket.io 1.1.0
1.0→1.1での変更
Socket.IO — Socket.IO 1.1.0
だいたいbug修正じゃね?と思ってたら、マルチバイト文字列のエンコーディング方法が修正された。
これにより、1.0系のsocket.io-clientから1.1系のサーバーに日本語などのマルチバイト文字を送ると文字化けするし、1.1系のクライアントから1.0系のサーバー通信しても文字化けする。
サーバーとクライアントのバージョンを合わせるか、URLエンコードするかすればいいと思う。
あと、websocket proxy(herokuやnginxなど)を前に建てたsocket.ioサーバーと接続している時に、proxyが生きているけどサーバーが再起動した時などに切断を検知できるようになった。