Fx4sky |
Le 20/05/2006 à 16:18 |
|
|
Bonjour. Je suis a la recherche d'un code php, html, ou autre, ou d'une explication pour un débutant comme moi afin de réaliser une page web. Je possède un réseau de plusieurs postes avec des adresses IP fixes. Ils sont tous reliés a internet via un routeur ayant lui aussi une adresse IP. J'aimerai faire une page web qui pourra donner l'état du routeur (avec le temps de réponse: comme le ping et une image associée) a partir de n'importe quel poste du réseau local. Est ce possible ? Quel code dois je mettre ? J'ai lu pas mal de codes en php mais je n'arrive pas a en faire fonctionner un seul. Merci d'avance pour votre aide. |
Covin85 |
Le 21/05/2006 à 01:26 |
|
|
SAlut
TOn code doit communiquer avec ton routeur si j'ai bien compris,a première vue je dirais que ca allaire bien complexe. Person je ne c'est pas désolé |
Anthony |
Le 21/05/2006 à 12:39 |
|
Admin |
Salut, pour savoir si ton routeur répond tu peux utiliser la fonction fsockopen()pense avant à mettre un stream_set_timeout() faible afin de ne pas attendre trente secondes avant d'avoir "le routeur est indisponible" (si c'est le cas). a + -- |
Fx4sky |
Le 21/05/2006 à 12:59 |
|
|
Re
Et dans mon cas ça pourrai donner quoi ? Je comprends "presque" a quoi sert cette fontion mais je ne vois pas trop comment l'employer.
Il faut ouvrir un port et une adresse ? Puis faire un test avec une condition ??
Je suis totalement nul en progra. :-( |
Anthony |
Le 21/05/2006 à 13:47 |
|
Admin |
Tu appelles ton routeur avec son adresse IP (le port 80 suffira) et si ça ne répond pas c'est que ton routeur n'est pas connecté (ou que tu as un problème réseau sur le poste en question). -- |
Fx4sky |
Le 21/05/2006 à 15:43 |
|
|
J'ai trouvé et modifié un morceau de code mais j'ai l'impression qu'il manque encore quelque chose. Toutes les valeurs sont affichés n'importe comment
<?php
$time_start = microtime();
if( @fsockopen( $server[$i]['192.168.0.2'], $port[$j], &$errno, &$errstr, 5) ) { $time_end = microtime(); $ping = round(($time_end - $time_start) * 1000); if($ping <= 50) echo '<img src="vert.GIF"/>'."\n"; if($ping > 50 AND $ping <= 200) echo '<img src="orange.GIF"/>'."\n"; if($ping > 200) echo '<img src="rouge.GIF"/>'."\n"; } else { echo '<img src="eteint.GIF"/>'."Le routeur n'est pas sous tension !! Merci d'appuyer sur l'interupteur";
$ping = 'Pas de réponse du routeur !!'; }
echo '</td><td align="center" bgcolor="#FFFFFF">'."\n"; echo $ping; echo '</td></tr>'."\n"; ?> |
Anthony |
Le 21/05/2006 à 16:24 |
|
Admin |
Quelles valeurs sont affichées n'importe comment ? -- |
Fx4sky |
Le 21/05/2006 à 16:31 |
|
|
C'est bon j'ai résolu une partie du problème. Voici le code en php :
<?php
$time_start = microtime();
if( @fsockopen("www.google.fr",80, &$errno, &$errstr, 5) )
{
$time_end = microtime();
$ping = round(($time_end - $time_start) * 1000);
if($ping <= 50) echo 'Etat du routeur :'.'<img src="vert.GIF"/>'."\n"."le routeur est allumé. <br><br> - Bonne connexion !! <br> <br> - Voici le PING : ";
if($ping > 50 AND $ping <= 200) echo 'Etat du routeur :'.'<img src="orange.GIF"/>'."\n"."le routeur est allumé.<br><br> - Bande passante moyenne<br> <br> - Voici le PING : ";
if($ping > 200) echo 'Etat du routeur :'.'<img src="rouge.GIF"/>'."\n"."le routeur est allumé. <br><br> - Beaucoup de traffic !! <br> <br> - Voici le PING : ";
}
else
{
echo '<img src="eteint.GIF"/>'."Le routeur n'est pas sous tension !! Merci d'appuyer sur l'interupteur";
$ping = 'Pas de réponse du routeur !!';
}
echo '</td><td align="center" bgcolor="#FFFFFF">'."\n";
echo $ping;
echo '</td></tr>'."\n";
?>
Sauf que j'ai oublié que je devrai faire la meme chose mais en java parce que le php est executé sur mon serveur free donc automatiquement si la connexion au serveur se fait, le routeur est allumé. Il me faut donc adapter ce script en java afin que ce soit le navigateur qui interprete le code et que le test se fasse en local (reseau intranet). Ya plus qu'a recommencer :-( |
Anthony |
Le 21/05/2006 à 17:05 |
|
Admin |
Pour java je ne peux t'aider malheureusement -- |
Asquel |
Le 22/05/2006 à 14:07 |
|
|
mais heuuu si ton javascript est exécuté c'est que t'as accés à un serveur web donc ca veut aussi dire que ton routeur est allumé ...
pourquoi t'heberge pas cette page sur un des ordinateurs de ton réseau local ? |