Status d'un serveur - PHP - Programmation
Marsh Posté le 09-06-2006 à 22:36:19
Une possibilité, mais à tester dans le cas de ton serveur, est d'ouvrir une connection internet sur le port de ton serveur, puis de vérifier que cette connexion n'a pas échouée.
Regarde la page de manuel suivante:
http://php.net/fsockopen
renseigne toi sur le port utilisé par ton serveur, et tente d'ouvrir avec cette fonction une connexion.
Si tu ne connais pas le port, tu peut essayer le port 7, qui est généralement ouvert lorsque la machine est en réseau, mais qui est fermé sur certaines machines avec protections.
Dès que tu a déterminé si la connexion est valide, tu peut la fermer. Celà peut poser problème sur le port de ton serveur, à toi de faire le test s'il le supporte.
Marsh Posté le 09-06-2006 à 22:38:01
ok je vais voir pour cette fonction... mais il existe pas tout simplement une fonction équivalent au "ping" de DOS en php? Ou bien c'est la fonction que tu m'as donnée?
Marsh Posté le 09-06-2006 à 22:45:34
Le ping, c'est le port 7.
Normalement le ping envoie un message sur le port 7, ce message est retourné tel quel. Mais tu n'a pas forcément besoin d'envoyer un message si tu ne veut pas connaître le taux de transfert / temps de connexion.
Sinon, sur le forum, il y a des exemples de pings, mais avec la commande externe ping de DOS/unix. Il n'y a pas de base en PHP de fonction ping.
Marsh Posté le 09-06-2006 à 22:48:31
ok donc je vais pas essayer de faire un truc qui existe pas... si vous trouvez quelque chose pour faire un test serveur et retourner une réponse je veux bien essayer. Je vais déjà essayer de trouver avec la comande fsockopen mais je ne comprend pas grand chose à comment utiliser cette fonction...
Marsh Posté le 09-06-2006 à 22:59:45
Code :
|
edit: ha oui exact, ça ne fonctionne pas avec le port 7. Essayer avec le port 80?
Marsh Posté le 09-06-2006 à 23:04:23
ok j'ai mieux compris! Mais je met aussi:
Code :
|
Mais il manque pas un else pour si on arrive ou pas à se connecter? a quoi correspondent le return false et true? désolé pour ma non compréhension mais je début vraiment en php... c'est gentil de m'aider!
Marsh Posté le 09-06-2006 à 23:08:54
La notion de ports n'est valable que pour les protocoles tcp et udp !
Ping utilise ICMP, qui s'appuie sur IP ... mais en aucun cas sur tcp ou udp :s
Marsh Posté le 09-06-2006 à 23:14:49
Absolument pas si tu veux faire un 'ping' vers une machine.
Maintenant tu peux lancer une connexion via socket en utilisant un port que tu sais etre ouvert sur la machine distante ... si le port est ouvert et que la connexion avec socket fonctionne ca veut dire que la machine est sur le reseau ... dans le cas contraire non.
Marsh Posté le 09-06-2006 à 23:17:04
arf! Comment faire un script valable alors?tu peux m'aider?
Marsh Posté le 10-06-2006 à 08:13:53
Sur le forum:
http://forum.hardware.fr/hardwaref [...] 0365-1.htm
Sinon, j'ai changé le code ci-dessus pour le faire fonctionner sur le port 80 (vérification serveur web actif), et je l'ai commenté.
Marsh Posté le 10-06-2006 à 09:24:43
nargy a écrit :
|
Je veux bien, mais en fait, quel est le résultat affiché si la connexion est réussi ou ratée? parce que mon but est de mettre une image... doit y avoir une autre partie au script ?
Marsh Posté le 10-06-2006 à 09:51:29
Ben tu fais un if
Marsh Posté le 10-06-2006 à 11:57:48
Après tout, ce code est souvent demandé....
Deux fichiers:
ping.php:
prends en argument:
page.php: exemple d'utilisation de la page ping.php
Définit la fonction suivante:
function ping_image($host, $urlon, $urloff, $urlwait, $alt, $width=0, $height=0, $timeout=0)
avec les paramètres:
ping.php:
Code :
|
page.php:
Code :
|
Oilà... chez moi ça marche, mais pas testé sous windoz. Si ya des volontaires... ou des commentaires.
Marsh Posté le 09-06-2006 à 19:32:22
Bonjour a tous! Je possède un serveur de jeu pour usage d'une team Battlefield 2 (entrainements etc.).
J'aimerais installer sur une page php le status du serveur: online ou offline. Pour cela j'ai créé deux images. J'avais une astuce pour faire ce genre de notification, mais c'est un script assez hasardeux, et je ne le trouve pas propre pour ma page php...
En plus ce script me force a installer apache ou autre sur ma machine serveur, et je n'arrive pas à le configurer correctement...
Existe-il un moyen de vérifier si un serveur existe et d'afficher une image en conséquence? je ne connais pas les focntions nécessaires pour cette requete...
merci a vous d'avance!