我将express与socket.io一起使用,并将express-session与express-socket.io-session一起使用,这可以帮助我将 session 连接到我的套接字实例。
这是我用于聚类的代码
var cluster = require('cluster')
if(cluster.isMaster) {
// imports
const http = require('http'),
socketIO = require('socket.io')
var server = http.createServer(),
io = socketIO(server)
for (var i = 0; i < 3; i++) {
cluster.fork()
}
cluster.on('exit', function(worker, code, signal) {
console.log('worker ' + worker.process.pid + ' died code: ' + code + 'signal: '+ signal)
})
}
if(cluster.isWorker) {
var express = require('express'),
app = express(),
deploy = require('./main.js'),
server = require('http').createServer(app),
io = require('socket.io').listen(server)
// add store here.
// deploy and listen
deploy(app, io)
console.log(cluster.worker.id)
app.listen(8080)
}
部署功能运行 session 、路由等内容。
发布http://localhost:8080/socket.io/?EIO=3&transport=polling&t=Lz9Ey8p 404(未找到)
最佳答案
我找到了答案,但我会将其公开,以便将来如果有人遇到此问题,他们可以立即快速设置。
您需要使用粘性集群,引用this config for Express .
关于node.js - 如何通过 Socket.io 和 Express 使用集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46889514/