我正在使用它 1.X 和 express 4 的套接字,并为服务器应用程序集群只对您有利,有时在客户端的会话中丢失 SOCKET IO 不明白为什么
应用程序.js
var app = require('express')();
var http = require('http').Server(app);
var redis = require('socket.io-redis');
var cluster = require('cluster');
// var sessionStore = new (require('connect-mongo')(express))({ db: "test" });
if(cluster.isMaster ){
// Count the machine's CPUs
var cpuCount = require('os').cpus().length;
console.log( "CORES : " + cpuCount );
// Create a worker for each CPU
for (var i = 0; i < cpuCount; i += 1) {
cluster.fork();
}
// Listen for dying workers
cluster.on('exit', function (worker) {
// Replace the dead worker,
// we're not sentimental
console.log('Worker %d died :(', worker.id);
cluster.fork();
});
} else {
var io = require('socket.io').listen(http);
io.adapter(redis({ host: 'localhost', port: 6379 }));
app.get('/', function(req, res){
res.sendFile(__dirname + '/index.html');
});
io.on('connection', function(socket){
socket.on('chat message', function(msg){
io.emit('chat message', msg);
});
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
}
那是我的代码,不明白有时我错了,客户端返回此错误
{"code":1,"message":"会话 ID 未知"}
我的所有事件都没有发出,我的应用程序无法正确继续
谢谢