Repository navigation
Expand file tree
/
Copy pathapps.js
More file actions
78 lines (53 loc) · 1.65 KB
/
Copy pathapps.js
File metadata and controls
78 lines (53 loc) · 1.65 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
67
68
69
70
71
72
73
74
75
76
77
78
var app = require('express').createServer();
var io = require('socket.io').listen(app);
var http = require('http');
var os = require('os');
app.listen(82);
// routing
app.get('/', function (req, res) {
res.sendfile(__dirname + '/index.html');
});
app.get('/server/getIP', function(req, res){
//res.send("var serverIP = '23.30.54.5';");
res.send("var serverIP = '" +getServerIps()[0] +"';");
});
app.get('/resources/:sub/:file', function(req, res){
var sub = req.params.sub
, file = req.params.file;
res.sendfile(__dirname + '/resources/' + sub + '/' + file);
});
app.get('/resources/:sub/:sub2/:file', function(req, res){
var sub = req.params.sub
, sub2 = req.params.sub2
, file = req.params.file;
res.sendfile(__dirname + '/resources/' + sub + '/' + sub2 + '/' + file);
});
var elements = {};
io.sockets.on('connection', function (socket) {
socket.on('getElements', function(){
socket.emit('setElements', elements);
});
socket.on('sendElement', function(elementIn){
elements[elementIn.id] = elementIn;
socket.broadcast.emit('setElement', elementIn);
});
socket.on('deleteElement', function(id){
delete elements[id];
socket.broadcast.emit('removeElement', id);
});
});
function getServerIps()
{
//gets Ip address
var interfaces = os.networkInterfaces();
var addresses = [];
for (k in interfaces) {
for (k2 in interfaces[k]) {
var address = interfaces[k][k2];
if (address.family == 'IPv4' && !address.internal && k != "VirtualBox Host-Only Network") {
addresses.push(address.address);
}
}
}
return addresses
}