gpt4 book ai didi

javascript - socket.io 连接多个进程

转载 作者:IT王子 更新时间:2023-10-29 06:07:44 32 4
gpt4 key购买 nike

我正在尝试使用 socket.iosocket.io-redis 设置聊天服务器,这样我就可以在多个处理器/服务器上进行处理。

我在将 socket.io-redis 集成到在一台服务器上运行的已经工作的系统时遇到了一个问题。当我使用以下命令将进程集群到两个处理器时:pm2 start chat.js -i max。 Socket.io 无法再保持连接。

为了解决这个问题,我读到我需要使用 redis,所以我安装了 redis 并且它正在运行,根据 socket.io-redis 文档,我需要做的就是:

var io = require('socket.io')(3000);
var redis = require('socket.io-redis');
io.adapter(redis({ host: 'localhost', port: 6379 }));

所以,我已经采用它来制作这个:

var io = require('socket.io')(3032);
var redis = require('socket.io-redis');

io.adapter(redis({host: 'localhost', port: 6379}));

io.on('connection', function(socket){
socket.broadcast.on('Message', function(data){
data = JSON.parse(data);
socket.to(data.room).emit('Message', data.message);
});
});

当我在浏览器上运行时无法连接,我得到这个:

{
"code":1,
"message":"Session ID unknown"
}

我需要做什么才能让它正常工作?

最佳答案

io.on('connection', function (socket) { 
socket.join('public_room');

socket.on('join', function(data){
io.to('public_room').emit('test',{a:10});
});
});

关于javascript - socket.io 连接多个进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30448344/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com