Websocket
[VSoRC/.git] / src / routes / index.js
index bae8559992b296711058b97ec0824ba55f3f6712..d92fd1130fe5f548964afca37416c943346c1cb4 100644 (file)
@@ -3,36 +3,32 @@ const {
 } = require('express');
 const router = new Router();
 
-let alumnos = [];
 
+//renders de las paginas web
 router.get("/", (req, res) => {
-  res.render("index", {
-    alumnos
-  })
+  res.render("index")
 });
 
-router.get("/flex", (req, res) => {
-  res.render("flex")
+router.get("/access", (req, res) => {
+  res.render("access")
 });
 
-router.get('/web', (req, res) => {
-  res.render('web')
+router.get("/starter", (req, res) => {
+  res.render("starter")
 });
 
-router.post('/web', (req, res) => {
-  let {
-    nombre,
-    documento
-  } = req.body;
-  let nuevoRegistro = {
-    nombre,
-    documento,
-    fecha: new Date()
-  };
-  alumnos.push(nuevoRegistro);
-  res.redirect("/");
+router.get("/stats", (req, res) => {
+  res.render("stats")
 });
 
+router.get("/topology", (req, res) => {
+  res.render("topology")
+});
+
+router.get("/topologyMaker", (req, res) => {
+  res.render("topologyMaker")
+});
+//en lo adelante se encuentran las peticiones de datos
 router.get('/free', (req, res) => {
   var sys = require('sys')
   var exec = require('child_process').exec;
@@ -65,5 +61,83 @@ router.get('/ifstat', (req, res) => {
   });
 });
 
+router.get('/gettopo', (req, res) => {
+  var sys = require('sys')
+  var exec = require('child_process').exec;
+  var child;
+  child = exec("curl localhost:8080/topology", function(error, stdout, stderr) {
+    console.log("gettopo");
+    res.send(stdout);
+  });
+});
+
+
+router.get('/startcontroller', (req, res) => {
+  var sys = require('sys')
+  var exec = require('child_process').exec;
+  var child;
+  child = exec("cd /home/pi/ryu && setsid $(cat /home/pi/ryu/ejecutarcontroller.sh | grep sudo) >/dev/null 2>&1 < /dev/null &", function(error, stdout, stderr) {
+    console.log("controller started");
+    res.send(stdout);
+  });
+});
+
+router.get('/stopcontroller', (req, res) => {
+  var sys = require('sys')
+  var exec = require('child_process').exec;
+  var child;
+  child = exec("sudo kill $(ps aux | grep python | grep ryu | awk {'print $2'})", function(error, stdout, stderr) {
+    console.log("controller stopped");
+    res.send(stdout);
+  });
+});
+
+router.get('/startvsorc', (req, res) => {
+  var sys = require('sys')
+  var exec = require('child_process').exec;
+  var child;
+  child = exec("setsid /home/pi/lol.py", function(error, stdout, stderr) {
+    console.log(stdout);
+    res.send(stdout);
+  });
+});
+
+
+var WebSocketServer = require('websocket').server;
+var http = require('http');
+
+var server = http.createServer(function(request, response) {
+  // process HTTP request. Since we're writing just WebSockets
+  // server we don't have to implement anything.
+});
+server.listen(1337, function() { });
+
+// create the server
+wsServer = new WebSocketServer({
+  httpServer: server
+});
+
+// WebSocket server
+wsServer.on('request', function(request) {
+  var connection = request.accept(null, request.origin);
+  console.log('Se conecto '+request.origin);
+  // This is the most important callback for us, we'll handle
+  // all messages from users here.
+
+  connection.on('message', function(message) {
+    if (message.type === 'utf8') {
+      // process WebSocket message
+      console.log('Recibido');
+      console.log(message);
+      connection.sendUTF("hola");
+
+    }
+  });
+
+  connection.on('close', function(connection) {
+    // close user connection
+  });
+});
+
 
 module.exports = router;