【发布时间】:2013-03-11 23:43:09
【问题描述】:
我正在使用 node.js 和 redis 的聊天应用程序中使用该代码,但没有使用hiredis,因为我无法在 Windows 机器上安装它
var app = require('express')()
, redis = require('redis')
, client = redis.createClient()
, server = require('http').createServer(app)
, io = require('socket.io').listen(server)
;
server.listen(80);
io.sockets.on('connection', function (socket) {
console.log("client connected")
socket.on('join', function(userid) {
socket.set('userid', userid);
var userco = userid+":connects";
client.incr(userco);
});
socket.on('disconnect', function(userid) {
socket.get('userid', function(err, userid) {
var userco = userid+":connects";
client.decr(userco);
var usercoco = client.get(userco);
console.log(usercoco);
if (parseInt(usercoco)<1) {
io.sockets.emit("remove-user",{id:userid});
}
});
});
});
但是 parseInt 方法不起作用,remove-user 事件也不起作用.. 你对此有什么解释和解决方案吗?
【问题讨论】:
-
你能进一步定义“不工作”吗?你有错误吗?如果是这样,您应该包括它们。
-
在 console.log(usercoco) 上它给了我真正的价值,当我使用 redis 客户端并使用命令 get 2:connects 它给了我用户连接数,例如“1”或“2”
标签: node.js node-redis