我正在尝试为 kubernetes 部署设置 socket.io-redis,但配置有问题。它部分工作,因为我可以在 redis 中看到 socket.io 消息 using redis-cli PSUBSCRIBE
,但我无权访问任何 socket.io-redis 的功能。
io.of('/').adapter.sockets()
,io.of('/').adapter.allRooms()
并且在成功配置 socket.io-redis 后应该可用的所有其他功能都是未定义的。我的配置如下。
const app = require('express')();
const server = require('http').createServer(app);
const io = require('socket.io')(server, {transports: ['websocket']});
const redisAdapter = require('socket.io-redis');
io.adapter(redisAdapter({port: 6379, host: '127.0.0.1'}));
在应该是简单的配置中,我找不到任何其他困难的情况。我正在使用socket.io 2.3.0
并且socket.io-redis 5.4.0
根据文档应该兼容。