相关疑难解决方法(0)

使用集群将Socket.IO扩展到多个Node.js进程

用这个撕掉我的头发......有没有人设法将Socket.IO扩展到由Node.js的集群模块产生的多个"工人"进程?

假设我有四个工作进程(伪):

// on the server
var express = require('express');
var server = express();
var socket = require('socket.io');
var io = socket.listen(server);

// socket.io
io.set('store', new socket.RedisStore);

// set-up connections...
io.sockets.on('connection', function(socket) {

  socket.on('join', function(rooms) {
    rooms.forEach(function(room) {
      socket.join(room);
    });
  });

  socket.on('leave', function(rooms) {
    rooms.forEach(function(room) {
      socket.leave(room);
    });
  });

});

// Emit a message every second
function send() {
  io.sockets.in('room').emit('data', 'howdy');
}

setInterval(send, 1000);
Run Code Online (Sandbox Code Playgroud)

在浏览器上......

// on the client
socket = io.connect(); …
Run Code Online (Sandbox Code Playgroud)

javascript redis node.js socket.io node-redis

60
推荐指数
1
解决办法
4万
查看次数

标签 统计

javascript ×1

node-redis ×1

node.js ×1

redis ×1

socket.io ×1