-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
62 lines (47 loc) · 1.22 KB
/
server.js
File metadata and controls
62 lines (47 loc) · 1.22 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
// first node server
var http = require('http');
var path = require('path');
var fs = require('fs');
var handleRequest = function (request, response) {
var pathname = request.url;
if(pathname == '/'){
pathname = '/index.html';
}
var ext = path.extname(pathname);
var typeExt = {
'.html':'text/html',
'.css':'text/css',
'.js':'text/javascript'
};
var contentType = typeExt[ext] || 'text/plain';
fs.readFile(
__dirname + pathname,
function(err,data){
if(err){
response.writeHead(500);
return response.end('error loading ' + pathname);
}else{
response.writeHead(200, {'contentType': contentType});
response.end(data);
}
}
);
};
var server = http.createServer(handleRequest);
var port = process.env.PORT || 7000;
server.listen(port);
var io = require('socket.io').listen(server);
console.log('server started on port ' + port + ".");
io.sockets.on(
'connection',
function (socket) {
console.log("New client: " + socket.id);
socket.on('disconnect', function() {
console.log("Client has disconnected");
});
socket.on('mouse',function(data){
console.log('received mouse data: ' + data.x + "," + data.y + "," + data.z + ".");
socket.broadcast.emit('mouse',data);
})
}
);