【发布时间】:2021-03-18 06:54:52
【问题描述】:
我有 socket.io v2.3,我正在尝试从不同的文件中获取所有连接的套接字。这是我的设置:
const io = require('socket.io');
let IO;
let myNameIO;
module.exports = {
create: (server) => {
IO = io(server, { cors: { origin: '*' } });
const redisConnection = redisAdapter({ host: redisHost, port: redisPort });
IO.adapter(redisConnection);
IO.on('connection', (socket) => {
console.log('a user connected');
});
IO.on('disconnect', (socket) => {
console.log('disconnected');
});
myNameIO = IO.of('/my-name');
myNameIO.on('connection', function (socket) {
console.log('someone connected');
});
},
getIO: () => IO,
getMyNameIO: () => myNameIO,
};
在一个差异文件中,我导入 getMyNameIO 并尝试获取所有已连接的客户端,但我遇到了麻烦。试过了
getMyNameIO().clients((error, clients) => {
console.log(clients, '-=--=-=');
});
但客户端不是函数。然后我尝试导入 socket.io 和 use.of,但这并没有返回任何东西。哪里做错了,我该如何解决?
【问题讨论】:
-
这里没有足够的信息,但我猜你会在调用
create: (server) =>之前调用getMyNameIO().clients(...)。 -
@MichaelHobbs 您还需要什么其他信息?创建首先被调用
标签: javascript node.js websocket socket.io