Ver Mensaje Individual
  #5 (permalink)  
Antiguo 09/12/2015, 15:52
sanandresm
 
Fecha de Ingreso: diciembre-2015
Mensajes: 67
Antigüedad: 8 años, 11 meses
Puntos: 2
Respuesta: Monitoreo de programa en C desde web

Solo quiero ayudar asi que te mandare el codigo para hacerlo por sockets miralo:

Codigo en el servidor:

Código PHP:
Ver original
  1.     set_time_limit(0);
  2.     $address = $_SERVER["SERVER_ADDR"];
  3.     $port = 1000;
  4.     if (($sock = socket_create(AF_INET, SOCK_STREAM, 0)) < 0) {
  5.         echo "socket_create() failed: reason: " . strerror($sock) . "\n";
  6.     }
  7.     if (($ret = socket_bind($sock, $address, $port)) < 0) {
  8.         echo "socket_bind() failed: reason: " . strerror($ret) . "\n";
  9.     }
  10.     if (($ret = socket_listen($sock, 5)) < 0) {
  11.         echo "socket_listen() failed: reason: " . strerror($ret) . "\n";
  12.     }
  13.     do {
  14.         if (($msgsock = socket_accept($sock)) < 0)
  15.         {
  16.             echo "socket_accept() failed: reason: " . strerror($msgsock) . "\n";
  17.         }
  18.         else
  19.         {
  20.             // time() cambia cada segundo
  21.             $t = time();
  22.             do {
  23.                 if(time()!=$t)
  24.                 {
  25.                     $r = file_get_contents("RUTA_DEL_ARCHIVO_DE_INFORME_DEL_PROGRAMA");
  26.                     socket_write($msgsock, $r, strlen($r));
  27.                     $t = time();
  28.                 }
  29.             } while (true);
  30.             close($msgsock);
  31.         }
  32.     } while (true);
  33.     close($sock);

Codigo en el navegador:

Código Javascript:
Ver original
  1. function ViewMessage(message) {
  2.         //Aquí coloca lo que se debe de hacer con el contenido de la variable message el cual es el archivo de reporte
  3.     }
  4.  
  5.     function sendMessage(msg) {
  6.         if ( websocket != null )
  7.         {
  8.             websocket.send( msg );
  9.         }
  10.     }
  11.  
  12.     var wsUri = DIRECCION_DEL_SERVIDOR_PHP;
  13.     var websocket = null;
  14.  
  15.     function initWebSocket() {
  16.         try {
  17.             if (typeof MozWebSocket == 'function')
  18.                 WebSocket = MozWebSocket;
  19.             if ( websocket && websocket.readyState == 1 )
  20.                 websocket.close();
  21.             websocket = new WebSocket( wsUri );
  22.             websocket.onopen = function (evt) {
  23.                 ViewMessage("CONECTADO");
  24.             };
  25.             websocket.onclose = function (evt) {
  26.                 ViewMessage("DESCONECTADO");
  27.             };
  28.             websocket.onmessage = function (evt) {
  29.                 ViewMessage( evt.data );
  30.             };
  31.             websocket.onerror = function (evt) {
  32.                 ViewMessage('ERROR: ' + evt.data);
  33.             };
  34.         } catch (exception) {
  35.                     ViewMessage('ERROR: ' + exception);
  36.         }
  37.     }
  38.  
  39.     function stopWebSocket() {
  40.         if (websocket)
  41.             websocket.close();
  42.     }
  43.  
  44.     function checkSocket() {
  45.         if (websocket != null) {
  46.             var stateStr;
  47.             switch (websocket.readyState) {
  48.                 case 0: {
  49.                     stateStr = "CONECTANDO";
  50.                     break;
  51.                 }
  52.                 case 1: {
  53.                     stateStr = "ABIERTO";
  54.                     break;
  55.                 }
  56.                 case 2: {
  57.                     stateStr = "CERRANDO";
  58.                     break;
  59.                 }
  60.                 case 3: {
  61.                     stateStr = "CLOSED";
  62.                     break;
  63.                 }
  64.                 default: {
  65.                     stateStr = "DESCONOCIDO";
  66.                     break;
  67.                 }
  68.             }
  69.             ViewMessage("WebSocket state = " + websocket.readyState + " ( " + stateStr + " )");
  70.         } else {
  71.             ViewMessage("WebSocket is null");
  72.         }
  73.     }

En la funcion ViewMessage() se puede ver el estado de la conexión o el archivo de reporte ya tu puedes modificar el script JS como nesecites

Última edición por sanandresm; 09/12/2015 a las 16:12