2 つの異なる socket.io サーバーが相互に通信する必要があります。接続と接続socket.io-client
の区別がつかないので使えません。だから私は使用しようとしています。browser to server
server to server
socket.io-redis
1 つは express-socket.io サーバーで、もう 1 つはスタンドアロンの socket.io サーバーです。どちらもsocket.io-redis
アダプターを使用するように構成されています。Server2 から Server1 で受信したメッセージが表示されません。また、エラーはありません。
サーバー1:
var express = require('express');
var app = express();
var server = app.listen(8000,function () {
console.log('server listening at port 8000');
});
var io = require('socket.io')(server);
var redis = require('socket.io-redis');
io.adapter(redis({ host: 'localhost', port: 6379 }));
io.on('message',function (message) {
console.log(message);
});
io.on('connection',function (socket) {
console.log('connection');
socket.on('message',function (message) {
console.log(message);
});
});
サーバー2:
var io = require('socket.io')(3000);
var redis = require('socket.io-redis');
io.adapter(redis({ host: 'localhost', port: 6379 }));
io.emit('message','Hi');