-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
58 lines (44 loc) Β· 1.76 KB
/
server.js
File metadata and controls
58 lines (44 loc) Β· 1.76 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
'use strict';
// require modules
const express = require('express'),
http = require('http'),
app = express();
const server = http.createServer(app), // express http μλ² μμ±
io = require('socket.io')(server); //μμ±λ μλ²λ₯Ό socket.ioμ λ°μΈλ©
app.use(express.static(__dirname + '/public'));
/**
* @url BASE_URL/
* @type GET
* @description sendFile socket-io.html
*/
app.get('/', function (req, res) {
res.sendFile(__dirname + '/views/socket-io.html');
});
io.sockets.on('connection', function (socket) {
/* μλ‘μ΄ μ μ κ° μ μνμ κ²½μ° λ€λ₯Έ μμΌμκ²λ μλ €μ€ */
socket.on('newUser', function (name) {
console.log(name + ' λμ΄ μ μνμμ΅λλ€.');
/* μμΌμ μ΄λ¦ μ μ₯ν΄λκΈ° */
socket.name = name;
/* λͺ¨λ μμΌμκ² μ μ‘ */
io.sockets.emit('update', { type: 'connect', message: `${socket.name}λμ΄ λ€μ΄μμ΅λλ€.` });
});
/* μ μ‘ν λ©μμ§ λ°κΈ° */
socket.on('message', function (data) {
/* λ°μ λ°μ΄ν°μ λκ° λ³΄λλμ§ μ΄λ¦μ μΆκ° */
data.name = socket.name;
console.log("message : ", data);
/* λ³΄λΈ μ¬λμ μ μΈν λλ¨Έμ§ μ μ μκ² λ©μμ§ μ μ‘ */
socket.broadcast.emit('update', data);
});
/* μ μ μ’
λ£ */
socket.on('disconnect', function () {
console.log(socket.name + 'λμ΄ λκ°μ
¨μ΅λλ€.');
/* λκ°λ μ¬λμ μ μΈν λλ¨Έμ§ μ μ μκ² λ©μμ§ μ μ‘ */
socket.broadcast.emit('update', { type: 'disconnect', message: `${socket.name}λμ΄ λκ°μ΅λλ€.` });
});
});
// server on port 3000
server.listen(3000, function () {
console.log("socket io server listening on port 3000");
});