Repository navigation
Expand file tree
/
Copy pathapp.js
More file actions
66 lines (50 loc) · 1.75 KB
/
Copy pathapp.js
File metadata and controls
66 lines (50 loc) · 1.75 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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// Importar as configs do server
var app = require('./config/server');
const port = 80;
// Parametrizar a porta de escuta
const server = app.listen(port, function(){
console.log('Servidor Online na porta 80.')
});
// Configurando o socket para escutar a mesma porta do servidor
var io = require('socket.io')(server);
// Criando a variavel global io para ser usado no app
app.set('io',io);
/** Criar a conexão por Websockets
*
* io.on -> Escuta o socket do cliente (fica ouvindo pedido para execução)
* io.emit -> Envia o socket do servidor (realiza pedido para executar uma ação)
* 'connection' e 'disconnect' são eventos pré defindo.
*
* */
io.on('connection', function(socket){
console.log('Usuário Conectado!');
socket.on('disconnect', function(){
console.log('Usuário desconectou!');
})
// Data é o JSON enviado pelo cliente
socket.on('msgParaServidor', function(data){
// Eventos de dialogos
// envia somente para quem pediu
socket.emit('msgParaCliente', {
apelido: data.apelido,
msg: data.msg
});
// envia para todos Broadcast
socket.broadcast.emit('msgParaCliente', {
apelido: data.apelido,
msg: data.msg
});
// Participantes
if(parseInt(data.apelido_atualizado_nos_clientes) == 0){
// envia somente para quem pediu
socket.emit('participantesParaCliente', {
apelido: data.apelido,
});
// envia para todos Broadcast
socket.broadcast.emit('participantesParaCliente', {
apelido: data.apelido,
});
}
});
// Pode criar aqui mais eventos de escuta (on) ou de emissão (emit)
})