-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathserver.js
34 lines (26 loc) · 855 Bytes
/
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
var express = require('express');
var app = express();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.use(express.static(__dirname));
http.listen(3000, function(){
console.log('listening on *:3000');
});
var players = [];
var UID = 0;
io.on("connection",function(socket){
var player = {socket:socket, id:UID++};
players.push(player);
console.log(`a user connected, now ${players.length} player${players.length === 1 ? "" : "s"}`);
socket.on('disconnect', function(){
var index = players.indexOf(player);
if(index >= 0){
players.splice(index, 1);
}
console.log(`user disconnected, now ${players.length} player${players.length === 1 ? "" : "s"}`);
});
socket.on("position",function(pos){
player.pos = pos;
socket.broadcast.volatile.emit("position",{id:player.id, pos:player.pos});
});
});