Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/08/2014, 10:42
Triby2
 
Fecha de Ingreso: julio-2014
Mensajes: 334
Antigüedad: 10 años, 5 meses
Puntos: 30
saber si mi router está encendido

Wenas, tengo un problema grave en mi país, resulta que en mi barrio no hay luz 24h y no dispongo de inversor para cubrir las horas que no hay luz. Por lo tanto he de irme esas horas a trabajar a un centro comercial cercano, el tema es que hay días que la luz viene antes de hora y trabajar desde el centro es un coñazo.

Indagué por ahi y encontré un código que abre los sockets de las ip's que ponga pero resulta que cuando le pongo la ip pública de mi casa y lo consulto desde el centro, los puertos 21 y 80 me salen OK y cuando vuelvo a casa resulta que no hay luz.

He hecho ping a mi ip y me responde y la verdad que no sé si hay alguna otra forma de averiguar, desde una conexión externa, si mi router (no mi pc) está encedido y conectado.

Pego el código:
Código PHP:
Ver original
  1. <?php
  2. /* Si se desea añadir otro servidor y/o puerto solo añadelo
  3. al array correspondiente separandolo por comas (,) y entre comillas simples ('')*/
  4.  
  5. $myIp = $_SERVER['REMOTE_ADDR'];
  6. $server = array($myIp, '127.0.0.1');
  7. $port = array(21,23, 25, 80, 110);
  8.  
  9. $servers = count($server);
  10. $ports = count($port);
  11.  
  12. function ports($p, $array) {
  13.     for ($i = 0; $i < $p; $i++) {
  14.         echo '<td><b>'.$array[$i].'</b></td>';
  15.     }
  16. }
  17.  
  18. function chkServer($s, $array, $nP, $p) {
  19.     for ($i = 0; $i < $s; $i++) {
  20.         echo '<tr><td>'.$array[$i].'</td>';
  21.             for($j = 0; $j < $nP; $j++) {
  22.                 echo '<td align="center">';
  23.                     if (@fsockopen($array[$i],$p[$j], $errno, $errstr, 5)) {
  24.                         echo '<font color=#006600>OK</font>'; }
  25.                     else {
  26.                         echo '<font color=#cc0000><b>ERROR</b></font>';
  27.                     }
  28.                 echo "</td>";
  29.             }
  30.         echo "</tr>";
  31.     }
  32. }
  33. ?>

Grácias de antemano

PD: yo no sé nada de puertos, no sé qué hace cada uno de los que escanea el script con lo cual tampoco sé cuál es el que me indicaría (si lo hace) si mi router está encendido.