【发布时间】:2014-12-10 01:12:55
【问题描述】:
我在使用 Node.js、socket.io 和 node.js 集群对我的应用程序进行集群时遇到问题。
我使用 socket.io-redis 为所有工作人员共享信息,但无法正常工作。
我的代码:
var cluster = require('cluster');
var numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
// Fork workers.
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('exit', function(worker, code, signal) {
console.log('worker ' + worker.process.pid + ' died');
});
} else {
...
var express = require("express");
//Server
var server = express();
//Socket.io
var http = require('http').Server(server);
var io = require('socket.io')(http);
var redis_io = require('socket.io-redis');
var redis = require("redis");
io.adapter(redis_io({host: "127.0.0.1", port: 6379 }));
...
}
在客户端,我在握手中遇到错误,例如 400 错误或 WebSocket 在建立连接之前已关闭。
我能做些什么来解决这个问题?
我正在使用最新版本的 node.js 和 socket.io
谢谢!
【问题讨论】:
标签: node.js express socket.io cluster-computing