-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.js
43 lines (32 loc) · 1.01 KB
/
server.js
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
// server.js
// where everyone's data got sent to everyone else
const express = require("express");
const app = express();
var server = app.listen(process.env.PORT || 300);
// https://expressjs.com/en/starter/static-files.html
app.use(express.static(__dirname));
var io = require("socket.io")(server);
var serverData = {}; // everyone's data
function newConnection(socket) {
console.log("new connection: " + socket.id);
socket.on("client-start", onClientStart);
socket.on("client-update", onClientUpdate);
socket.on("disconnect", onClientExit);
function onClientStart() {
// send an update every 10 milliseconds
setInterval(function() {
socket.emit("server-update", serverData);
}, 10);
}
// client is sending us an update
function onClientUpdate(data) {
serverData[socket.id] = data;
}
// bye bye
function onClientExit() {
delete serverData[socket.id];
console.log(socket.id + " disconnected");
}
}
console.log("listening...");
io.sockets.on("connection", newConnection);