请大家帮忙。我正在使用nodejs集群模块:http://nodejs.org/docs/v0.6.18/api/cluster.html。我有以下代码:Node.js集群模块
run.js
var cluster = require('cluster');
if (cluster.isMaster) {
require('os').cpus().forEach(function() {
cluster.fork();
});
} else {
require('./worker.js');
}
worker.js
var http = require('http'),
connect = require('connect'),
sio = require('socket.io'),
// create server
app = connect(),
server = http.createServer(app);
server.listenPort(80);
var io = sio.listen(server);
// io.sockets.on ....
所有工人听80端口。每个连接都为随机工作人员(?)提供服务。我可以切换用户连接的工作人员吗?
对不起我的英文不好
我创建的游戏没有工人之间的沟通,所有数据保存在内存中的js对象。现在,我想用群集模块启动一些工作人员,但如果两个用户连接到不同的工作人员,他不能一起玩。 我知道,我可以在worker中使用'process.send',在master process中使用'worker.on',但切换用户worker对我来说更简单快捷。 – skyman
也许你不应该在你的游戏中使用集群,然后 – ControlAltDel
也许,但没有它,我不能使用多个CPU核心,难过 – skyman