1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| var http = require('http');
var color = require('colors');
var server = http.createServer();
server.listen(1337);
var redis = require('redis');
var io = require('socket.io').listen(server);
var redisProcess = require('./app_redis');
var redis_sub = redis.createClient();
io.on('connection', function(socket){
socket.emit('countNotification', 555); //.emit vers React fonctionne
var userID = socket.handshake.query.userID;
var userAgent = socket.handshake.query.userAgent;
try{
if(!userID || userID == 'null' || !userAgent || userAgent == 'null'){
throw new Error('empty sessionStorage');
}
redisProcess.checkUser({
userID: userID,
userAgent: userAgent,
success: function(){
authorized();
},
failed: function(err){
console.log('ERROR'.bgRed.black, 'invalid sessionStorage');
socket.disconnect();
}
});
}
catch(err){
console.log('ERROR'.bgRed.black, err);
socket.disconnect();
}
function authorized(){
console.log('START'.bgGreen.black, 'userID:', userID.bgWhite.black, 'userAgent:', userAgent.bgBlue.black);
// Charge le compteur des notifications non lu
redisProcess.countNotification({
userID: userID,
success: function(res){
socket.emit('test', res); //.emit de test vers le navigateur fonctionne
socket.emit('countNotification', res); //.emit posant probléme vers React qui ne fonctionne pas
},
failed: function(err){
}
});
// Charge les derniéres notifications.
redisProcess.getNotification({
userID: userID,
success: function(res){
socket.emit('getNotification', res);
},
failed: function(err, res){
}
});
redis_sub.SUBSCRIBE('notificationHandler');
redis_sub.SUBSCRIBE('messageHandler');
//Ecoute les channels
redis_sub.on('message', function(channel, redisData){
var data = JSON.parse(redisData);
socket.emit('newNotification', data);
});
}
});
process.stdout.write('\033c');
dateNow = new Date().toISOString();
console.log('Servers launched');
console.log(`¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯`); |
Partager