Có, nếu bạn muốn tải các máy chủ socket.io cân bằng tải, bạn sẽ phải sử dụng một cửa hàng như redisstore.
Tuy nhiên, bây giờ bạn không nên sử dụng sự kiện "socket_name_array" + để duy trì dữ liệu nhất quán trên máy chủ của mình.
Thiết lập
var redis = require('redis'),
var pub = redis.createClient(port, host),
var sub = redis.createClient(port, host),
var client = redis.createClient(port, host);
io.configure(function(){
io.set('store', new RedisStore({
redisPub: pub,
redisSub : sub,
redisClient : client
}));
});
Cách sử dụng
io.sockets.on('connection', function (socket) {
var name = generate_random_name();
socket.set('name', name); // store it in redis and forward this to other socket.io servers
// On another server, if you want to retrieve this value from this socket just do:
socket.get('name', function(err, name){
// don't forget err. handling
console.log(name);
});
});