J'utilise ce code sur mon application de chat en utilisant Node.js et Redis mais sans hiredis que je ne peux pas l'installer sur la machine windowsNode.js et Redis (hiredis) sur les fenêtres
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});
}
});
});
});
mais la méthode parseInt pas travailler aussi l'événement remove-user ne fonctionne pas trop .. avez-vous des explications et une solution pour cela?
Pouvez-vous définir plus précisément «ne fonctionne pas»? Avez-vous des erreurs? Si oui, vous devriez les inclure. –
sur console.log (usercoco) il me donne une vraie valeur et quand j'utilise le client redis et j'utilise la commande get 2: connecte il me donne le nombre de connexions utilisateur par exemple "1" ou "2" –