1

我正在尝试在我的应用程序中使用 socket.io。我看到我需要使用 socket.io-redis 来解决多个测功机的问题。但是当我尝试使用 redis-cloud 和 socket.io-redis 时,我不断收到“超出最大调用堆栈大小”。下面是我的代码

io.adapter(redis({
  pubClient: require("redis").createClient(PORT, HOST, {return_buffers: true}),
  subClient: require("redis").createClient(PORT, HOST, {return_buffers: true})
}));

我的会话也使用 koa-session-redis

koa.use(session({
                  store: {
                     host: HOST,
                     port: PORT
                 }
               }))

提前谢谢各位

4

1 回答 1

1

这可能不是答案,因为我在非常不同的配置中遇到了相同的错误,但在我的情况下,我发现错误来自msgpack模块 msgpack.js,sizeof方法的第 465 和 466 行:

if('function' === typeof value.toJSON)
    return sizeof(value.toJSON());

您是否有可能在您的套接字上推出一个对象,该对象以这样一种方式实现 toJSON,即存在自引用或循环引用?

于 2015-03-07T02:44:15.260 回答