Node.js プログラムでは、Socket.IO を使用してリアルタイム アプリケーションを構築できます。 ただし、Java や Python の Web バックエンドなど、バックエンドが Socket.IO と異種混合である場合もあります。 現時点では、異種バックエンドと Socket.IO サービスを接続するためのトランジットとして Redis のサブスクリプション/公開メカニズムを使用できます。 この記事では、Socket.IO で Redis チャネルをサブスクライブする方法について説明します。
Java/Python/C# で Redis Channel にメッセージをパブリッシュする方法については、対応する言語の Redis SDK を参照してください。
次に、Socket.IO サーバー プロジェクトとしてフォルダーを作成し、その中に Socket.IO と Node.js の Redis クライアントをインストールします。
npm install Socket.IO redis --save
app.js ファイルを作成し、Node.js HTTP モジュールに基づいて Socket.IO サーバーを作成します。 通知とチャットの 2 つの名前空間を作成します。
var server = require('http').createServer();var io = require('Socket.IO')(server);io .of('/notification') .on('connection', socket => { console.log('user connected to notification'); socket.on('disconnect', () => console.log('user disconnected')); });io .of('/chatting') .on('connection', socket => console.log('user connected to message'));server.listen(3001, () => console.log('Socket.IO listen to port 3001'));
異なるブラウザは、noticeaiton に接続するなど、異なる名前空間に接続できます:
var socket = io('/notification');socket.on('message', function (msg) { console.log(msg);});