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<?php
/* Si se desea añadir otro servidor y/o puerto solo añadelo
al array correspondiente separandolo por comas (,) y entre comillas simples ('')*/
$myIp = $_SERVER['REMOTE_ADDR'];
$server = array($myIp, '127.0.0.1'); $port = array(21,23, 25, 80, 110);
$servers = count($server);
function ports($p, $array) {
for ($i = 0; $i < $p; $i++) {
echo '<td><b>'.$array[$i].'</b></td>';
}
}
function chkServer($s, $array, $nP, $p) {
for ($i = 0; $i < $s; $i++) {
echo '<tr><td>'.$array[$i].'</td>';
for($j = 0; $j < $nP; $j++) {
echo '<td align="center">';
if (@fsockopen($array[$i],$p[$j], $errno, $errstr, 5)) { echo '<font color=#006600>OK</font>'; }
else {
echo '<font color=#cc0000><b>ERROR</b></font>';
}
echo "</td>";
}
echo "</tr>";
}
}
?>
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.