我在使用 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 事件也不起作用..您对此有任何解释和解决方案吗?