Socket.ioの変遷とv1.0.0からの変更




どうも高妻です。Twitterでもプログラミングのことや暗号通貨のことをつぶやいているのでよかったら覗きにきてください。  

Socket.IOの変遷

以前、Socket.IOのプロトコルについて書いたので今回はSocket.IO自身について書きたいと思います。

Socket.IOは2010年3月19日にリリースされそれから7年以上もアップデートを繰り返しながら進化を遂げてきました。アップデートは多いときには毎週行われており、今でも頻繁にバグ修正や新しい機能の追加が行われています。

一番劇的に変わったのが2014年5月29日にリリースされたv1.0.0ではないでしょうか。

これまでの構成から大きく変更され、V1.0.0以前のSocket.IOとは互換性がなくなりました。v.0.x系からアップデートする場合は手を加えないといけないほどです。

具体的に変更された内容

Socket.IO v1.oからtransportに関する処理はengine.ioに任せて、socket.ioはもっと上位の処理、namespace, emit, 再接続処理などtransportに関係しない処理がメインとなりました。

v0.9まではこれらの処理をSocket.IOだけで行なっていたのでコードのメンテナンス性が悪かったようです。

また、デフォルトではオンメモリでnamespace, room等を管理するsocket.io-adapter, マルチプロセスでroom情報等を管理できるsocket-io-redisといったモジュールが作成されSocket.IO v1.0からはこれらの機能が切り離されています。

Socket.IOの主な機能

  1. room機能
  2. namespace機能
  3. クライアントからの自動再接続機能

Engine.IOの主な機能

  1. WebsocketへのUpgrade機能
  2. メッセージの送受信

ざっくりでしたが、Socket.IOの変遷について書きました。今後もどんどん改良されていくと思うので随時更新していきます。







コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です