我刚刚将socket.io更新为1.0.6版,发现socket.io/node_modules下没有redis了。
所以,我在npm安装了socket.io-redis,因为这个线程说它是正确的解决方案: Migrating socket.io from 0.9.x to 1.x, Problems with configuring RedisStore
但是,在上一个版本中,我曾经在app.js上使用以下代码:
var redis = require('socket.io/node_modules/redis');
var sub = redis.createClient();
使用这种新方法,运行节点app.js会引发错误:它抱怨redis没有createClient方法。
如何使用socket.io(1.0.6)和socket.io-redis进行订阅?
答案 0 :(得分:0)
除redis
外,您还应导入socket.io-redis
模块。
var redisAdapter = require('socket.io-redis');
var redis = require('redis');
var pub = redis.createClient(port, host);
var sub = redis.createClient(port, host);
io.adapter( redisAdapter({pubClient: pub, subClient: sub}) );