2015-06-09 17:40:58 +02:00
|
|
|
var fs = require('fs');
|
|
|
|
var sleep = require('sleep');
|
|
|
|
|
|
|
|
module.exports = function(io) {
|
|
|
|
io.on('connection', function(socket) {
|
2015-06-10 11:24:59 +02:00
|
|
|
|
|
|
|
var index = 0;
|
|
|
|
var path;
|
|
|
|
var vIndex = 0;
|
|
|
|
var fIndex = 0;
|
|
|
|
|
2015-06-10 11:59:02 +02:00
|
|
|
// console.log(socket.conn.remoteAddress + " connected !");
|
2015-06-09 17:40:58 +02:00
|
|
|
|
2015-06-10 11:59:02 +02:00
|
|
|
// socket.on('disconnect', function() {
|
|
|
|
// console.log(socket.conn.remoteAddress + " disconnected !");
|
|
|
|
// });
|
2015-06-09 17:40:58 +02:00
|
|
|
|
|
|
|
socket.on("request", function(res) {
|
2015-06-10 11:59:02 +02:00
|
|
|
// console.log('Asking for static/data/spheres/' + res + '.obj');
|
2015-06-09 17:40:58 +02:00
|
|
|
|
2015-06-10 11:24:59 +02:00
|
|
|
path = 'static/data/spheres/' + res + '.obj.obj';
|
|
|
|
|
|
|
|
socket.emit('ok');
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
socket.on('next', function() {
|
|
|
|
|
|
|
|
fs.readFile(path, function(err, data) {
|
2015-06-09 17:40:58 +02:00
|
|
|
var lines = data.toString('utf-8').split("\n");
|
2015-06-10 11:24:59 +02:00
|
|
|
var line = lines[index];
|
2015-06-10 11:50:47 +02:00
|
|
|
var toSend = [];
|
2015-06-10 11:24:59 +02:00
|
|
|
|
2015-06-10 11:50:47 +02:00
|
|
|
for (var i = 0; i < 50; i++) {
|
|
|
|
while (line && line[0] !== 'f') {
|
|
|
|
toSend.push(line);
|
|
|
|
line = lines[++index];
|
|
|
|
}
|
2015-06-10 11:24:59 +02:00
|
|
|
|
2015-06-10 11:50:47 +02:00
|
|
|
if (line && line[0] === 'f') {
|
|
|
|
toSend.push(line);
|
|
|
|
line = lines[++index];
|
|
|
|
}
|
|
|
|
}
|
2015-06-10 11:24:59 +02:00
|
|
|
if (!line) {
|
|
|
|
socket.emit('finished');
|
|
|
|
}
|
2015-06-09 17:40:58 +02:00
|
|
|
|
2015-06-10 11:50:47 +02:00
|
|
|
socket.emit('elements', toSend);
|
2015-06-10 11:24:59 +02:00
|
|
|
|
2015-06-09 17:40:58 +02:00
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|