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




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にブロックチェーンエンジニアとして入社。






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




コメントを残す

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