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の主な機能
- room機能
- namespace機能
- クライアントからの自動再接続機能
Engine.IOの主な機能
- WebsocketへのUpgrade機能
- メッセージの送受信
ざっくりでしたが、Socket.IOの変遷について書きました。今後もどんどん改良されていくと思うので随時更新していきます。
おすすめ書籍
基礎から応用までサンプルコードを使って解説しており、Node.jsが初めての人でも読める技術書となっています。上級者向けにはExpressフレームワークを使った実用的な開発手法の解説もありこれからアプリケーションを開発する人の参考になると思います。現状では書き方が古くなっていますが、Node.jsの初心者から上級者まで学ぶことの多い書籍です。
髙妻智一
最新記事 by 髙妻智一 (全て見る)
- Polkadot(Substrate)のアドレスとトランザクションについて - 2023-03-09
- 【無料公開】「Goで始めるBitcoin」3章 Bitcoinノードとの通信 技術書典8 - 2020-03-08
- エンジニアがゼロから技術ブログを書くための方法をまとめました - 2019-05-25
コメントを残す