Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var net = require('net');
- var readline = require('readline');
- var fs = require('fs');
- var db = new Array();
- console.log(typeof db)
- var getUserInput = function (){
- var rl = readline.createInterface({
- input: process.stdin,
- output: process.stdout
- });
- var userPrefs = {};
- rl.question("How many points would you like to simulate?\n", function (answer) {
- // TODO: Log the answer in a database
- userPrefs.pointAmount = answer;
- rl.question("How often would you like to emit data (in seconds)?\n", function (answer){
- userPrefs.simInterval = answer;
- rl.close();
- startServer(userPrefs);
- });
- });
- }
- var startServer = function (prefs){
- var tcpServer = net.createServer(function (socket) {
- socket.setEncoding('utf-8');
- socket.on('end', function() {
- console.log('socket disconnected');
- });
- socket.on('data', function (data){
- console.log(data);
- });
- socket.on('error', function(err){
- console.log(err)
- });
- var emitData = setInterval(function (){
- var recordCount = db.length;
- var data = JSON.stringify(simulateChange(recordCount));
- console.log(data);
- socket.write(data);
- }, prefs.simInterval * 1000);
- socket.on('end', function (){
- clearInterval(emitData);
- });
- });
- tcpServer.listen(4000, function() {
- console.log('server listening; Simulated Point Changes: ' + prefs.pointAmount + "; Simulated change interval: " + prefs.simInterval);
- });
- }
- var readData = function (){
- var file = fs.readFileSync('configData.json');
- var data = JSON.parse(file);
- db = data;
- }
- var simulateChange = function (recordCount){
- var randomIndex = Math.floor(Math.random() * recordCount);
- return (db[randomIndex]);
- }
- readData();
- getUserInput();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement