-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchat.js
More file actions
50 lines (39 loc) · 1.42 KB
/
Copy pathchat.js
File metadata and controls
50 lines (39 loc) · 1.42 KB
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
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
//var PORT = 3000;
var PORT = process.env.PORT || 8080;
app.get('/',function(req,res){ //express
//request: Son cabeceras y datos que nos enviar el navegador
//respnse: Es todo lo que enviamos desde el servidor
//res.send('<h1>Hola Mundo!</h1>');
res.sendFile(__dirname + '/index.html');
});
io.on('connection',function(socket){
console.log("usuario id: %s",socket.id);
var channel = 'universidad';
//io.sockets.emit() == io.emit() mensaje a todos
//socket.broadcast.emit() mensaje a todos menos YO
socket.broadcast.emit('message','El usuario '+socket.id+' se ha conectado!', 'System');
socket.join(channel);
socket.on('message',function(msj){
//emitimos el mensaje para todos los usuario que se conecten
//io.emit('message',msj,socket.id);
io.sockets.in(channel).emit('message',msj,socket.id); // enviar a todos del canal
//enviar a todos del canal menos a mi
//socket.broadcast.to(channel).emit('message',msj,socket.id);
});
socket.on('disconnect',function(){
console.log("Desconectado : %s",socket.id);
});
//el cambio de canal
socket.on('change channel',function(newChannel){
socket.leave(channel);
socket.join(newChannel);
channel = newChannel;
socket.emit('change channel',newChannel);
});
});
http.listen(PORT,function(){
console.log('el servidor esta escuchando el puerto %s', PORT);
});