Socket.io 在具有 HaProxy 的多台服务器上
Socket.io on multiple servers with HaProxy
我有 HAProxy
,它在 expressjs 上使用 nodejs 为多个服务器提供服务。我已经添加到该表达式 socket.io 并使它们工作,我尝试将它们与 socket.io-redis
和 socket.io-ioredis
连接起来。所有看起来都没有任何错误地连接但是当用户将他的套接字连接到与其他用户不同的服务器时,他们的发射不会读取不会发送到其他服务器。
Nodejs setup
var app = express();
var server = require('http').Server(app);
var io = require('socket.io').listen(server);
var redis = require('socket.io-ioredis');
io.adapter(redis({ host: 'serverIP', port: 6565 }));
server.listen(6565);
我如何发射:
io.to(roomID).emit(event, object);
实际问题是redis连接服务器的端口被防火墙屏蔽了
我有 HAProxy
,它在 expressjs 上使用 nodejs 为多个服务器提供服务。我已经添加到该表达式 socket.io 并使它们工作,我尝试将它们与 socket.io-redis
和 socket.io-ioredis
连接起来。所有看起来都没有任何错误地连接但是当用户将他的套接字连接到与其他用户不同的服务器时,他们的发射不会读取不会发送到其他服务器。
Nodejs setup
var app = express();
var server = require('http').Server(app);
var io = require('socket.io').listen(server);
var redis = require('socket.io-ioredis');
io.adapter(redis({ host: 'serverIP', port: 6565 }));
server.listen(6565);
我如何发射:
io.to(roomID).emit(event, object);
实际问题是redis连接服务器的端口被防火墙屏蔽了