Я использую этот код в моем приложении чата с помощью Node.js и Redis, но без hiredis как я не могу установить его на окна машиныNode.js и Redis (hiredis) на окна
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 не работая также с удаленным пользователем, не работает тоже. есть ли у вас какие-либо объяснения и решения?
Можете ли вы определить, что «не работает»? Вы получаете ошибки? Если это так, вы должны включить их. –
на console.log (usercoco), он дает мне истинное значение, и когда я использую redis-клиент, и я использую команду get 2: connect, он дает мне количество пользовательских соединений, например «1» или «2» –