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の変遷について書きました。今後もどんどん改良されていくと思うので随時更新していきます。

おすすめ書籍

基礎から応用までサンプルコードを使って解説しており、Node.jsが初めての人でも読める技術書となっています。上級者向けにはExpressフレームワークを使った実用的な開発手法の解説もありこれからアプリケーションを開発する人の参考になると思います。現状では書き方が古くなっていますが、Node.jsの初心者から上級者まで学ぶことの多い書籍です。

 

The following two tabs change content below.

高妻智一

2013年CyberAgent新卒入社 スマホゲームを作る子会社に所属し、サーバーサイドのエンジニアを担当。2年目の終わりから新規子会社の立ち上げに参加し、サーバーサイドのエンジニアリーダーとしてサービースのリリースから運用までを担当。 2018年仮想通貨のスマホウォレットを提供するGinco Incにブロックチェーンエンジニアとして入社。






よく読まれている関連記事はこちら



コメントを残す

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