Skip to content

Instantly share code, notes, and snippets.

@jhonnrodr
Created August 8, 2015 01:30
Show Gist options
  • Save jhonnrodr/25e688f9c4604c56c9e5 to your computer and use it in GitHub Desktop.
Save jhonnrodr/25e688f9c4604c56c9e5 to your computer and use it in GitHub Desktop.
//var io = require('socket.io').listen(8001);
var app = require('express')();
var redis = require('redis');
var https = require('https');
var fs = require('fs');
var options = {
key: fs.readFileSync('ssl/linc.do.key'),
cert: fs.readFileSync('ssl/linc_do.crt')
};
var server = require('http').Server(app);
var ssl = https.createServer(options, app).listen(8001);
var io = require('socket.io')(ssl);
//server.listen(8001);
app.get('/', function(req, res){
res.send('Esta funcionando Node!');
});
console.log("Node Corriendo!");
io.on('connection', function (socket) {
console.log("New connection: " + socket.id);
// Send the message of connection for receiving the user ID
socket.emit('connected');
socket.emit('all', 'Se acaba de Conectar');
socket.on('disconnect', function () {
socket.emit('all', 'Se desconecto Alguien');
});
// Receive the ID
socket.on('join', function(userId){
var lob = 0;
var channel = "push:notifications:" + userId;
var channelChat = "push:message:" + userId;
var channelLobby = "lobby";
var channelStatus = "push:estado";
console.log("Connecting to redis: " + channelLobby);
console.log("Se conecto: " + userId);
//------------------------------------------------
//Conexion
socket.estado = redis.createClient();
socket.estado.subscribe(channelStatus);
//Recibir Mensajes de Conexion
socket.estado.on("message", function(channel, message) {
console.log(channel + ': ' + message);
socket.emit('all', channel, message);
});
//--------------------------------------------------
// Cliente de Notificaciones
socket.redisClient = redis.createClient();
socket.redisClient.subscribe(channel);
//Cliente de Mensajes
socket.clientMsg = redis.createClient();
socket.clientMsg.subscribe(channelChat);
//Cliente de Lobby
socket.clientLobby = redis.createClient();
socket.clientLobby.subscribe(channelLobby);
//Recibir notificaciones
socket.redisClient.on("message", function(channel, message) {
console.log(channel + ': ' + message);
socket.emit('notification', channel, message);
});
//Recibir Mensajes
socket.clientMsg.on("message", function(channel, message) {
console.log(channel + ': ' + message);
socket.emit('messages', channel, message);
});
//Recibir Mensajes al Lobby
socket.clientLobby.on("message", function(channel, message) {
console.log(channel + ': ' + message);
socket.broadcast.emit('lobby', channel, message);
});
//Mensajes a todos
// socket.on('all', function (msg){
// socket.broadcast.emit('all', msg);
// });
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment