検索
連載

Socket.IO開発時に役立つツール4選とroom、namespaceライブラリの使い方Socket.IOで始めるWebSocket超入門(終)(3/3 ページ)

本連載では、WebSocketを扱えるNode.jsのライブラリ「Socket.IO」の使い方について解説します。今回は、チャットアプリ開発を進めながら、「room」「namespace」ライブラリの使い方について説明し、最後に開発時に役立つツールを4つ紹介します。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

Socket.IO開発時に役立つツール4選

 前々回、前回記事を含め、ここまでの内容でSocket.IOを使った開発のイメージをつかめたでしょうか。ここで、少し内容は逸れますが、開発を進める際に役立つツールを簡単に紹介します。

Google Chrome Developer Tools:デバッグ、レイアウト調整、チューニングなど

 ご存じの方も多いと思います。Web開発における必須ツールと言っても過言ではないでしょう。画面レイアウトの調整だけではなく、JavaScriptのデバッグやコンソールログを使用して処理の時間計測をすることが可能です。

forever:Node.jsプロセスのデーモン化

 Node.jsプロセスをデーモン化するツールとしてforeverがあります。foreverは単にデーモン化するだけでなく、起動したNode.jsプロセスの死活監視を行い、停止した場合には自動的に再起動してくれます。

log4js:Node.jsログ出力

 Node.jsログ出力ツールとしてlog4jsがあります。systemログ、applicationログなど、用途に応じた複数のロガーが定義できます。出力タイプは、ファイル・コンソール・日付単位のローテーションがあり、ログレベルは「FATAL」「ERROR」「WARN」「INFO」「DEBUG」「TRACE」の6レベル提供されています。

socket.io-redis:WebSocketセッションの共有

 WebSocketは、異なるプロセス間でセッションを共有できません。そのため、本チャットアプリのサーバをスケールアウトしようとしても、Socket.IOはプロセスごとに動作するため、サーバAとサーバB間でチャットメッセージが共有されない問題が発生します。その問題を解決するために、socket.io-redisを使用します。別途Redisサーバを立てて、そこにスケールアウトしたいサーバを登録します。そうすることで、Redisサーバを経由して異なるプロセス間でもWebSocketセッションが共有され、上記のような問題を解決可能です。

最後に

 3回にわたり、Socket.IOを使ったWebSocket入門記事を執筆してきました。本連載は、今回で最終回です。最後までお付き合いいただき、ありがとうございました。本連載がSocket.IOやWebSocket開発に興味を持った読者の皆さまに役立つことを願っています。

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る