Ping en continu en PHP
mrtbgau
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je suis un projet d'outil de multiping et je souhaite pinger une adresse ip en continu pour avoir son statut(connecté ou non) et le temps de réponse.
Pour l'instant, j'ai ça:
Configuration: Windows / Edge 102.0.1245.41
Je suis un projet d'outil de multiping et je souhaite pinger une adresse ip en continu pour avoir son statut(connecté ou non) et le temps de réponse.
Pour l'instant, j'ai ça:
function getLatence($ip){
$ping = exec("ping -n 1 $ip", $output, $status);
return ($status == 0) ? $ping : "Pas de réponse de ".$ip;
function getStatus($ip){
$ping = exec("ping -n 1 $ip", $output, $status);
return ($status == 0) ? "Connecté" : "Non connecté";
if(isset($_POST['btn-analyser'])){ //Si l'utilisateur clique sur le bouton analyser
try{
if(isset($_POST['saisieIP'])){ //Si une ip est entrée
$ip = $_POST['saisieIP'];
$statut = getStatus($ip);
$latence = getLatence($ip);
$insert = ("INSERT INTO `enregistrement`(`adrEnregistrement`, `staEnregistrement`, `tpsEnregistrement`)
VALUES (:ip, :statut, :latence)");
$sqlInsert = BDDConnexionPDO()->prepare($insert);
$sqlInsert->bindParam(':ip', $ip);
$sqlInsert->bindParam(':statut', $statut);
$sqlInsert->bindParam(':latence', $latence);
$sqlInsert->execute();
}
}
catch(PDOException $e){
echo 'Erreur: ' .$e->getMessage();
}
}
Configuration: Windows / Edge 102.0.1245.41
A voir également:
- Ping en continu en PHP
- Easy php - Télécharger - Divers Web & Internet
- Hotmail continu - Forum Hotmail / Outlook.com
- Port ping - Forum Windows
- Avoir du ping expression ✓ - Forum Réseau
- C est quoi un ping??????? - Forum Réseau
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, ton code fonctionne bien?
Bonjour,
1 - ta boucle ne doit pas se trouver dans ta fonction de ping .. mais dans ton programme principale
2 - Les pages php ont un temps d'exécution "max" et tu risques donc de tomber en timout ..
3- Pour faire ce que tu souhaites, un script JS (faisant appel en AJAX à ton script php) serait préférable.
Ainsi, tu pourras demander ( via code js..) à ta page, de relancer la vérification toutes les X secondes.
4 - Certains serveurs n'apprécient pas d'être pinguer en continue .. pensant être victime d'une attaque.. L'ip de ton serveur php risque donc d'être black listée...
1 - ta boucle ne doit pas se trouver dans ta fonction de ping .. mais dans ton programme principale
2 - Les pages php ont un temps d'exécution "max" et tu risques donc de tomber en timout ..
3- Pour faire ce que tu souhaites, un script JS (faisant appel en AJAX à ton script php) serait préférable.
Ainsi, tu pourras demander ( via code js..) à ta page, de relancer la vérification toutes les X secondes.
4 - Certains serveurs n'apprécient pas d'être pinguer en continue .. pensant être victime d'une attaque.. L'ip de ton serveur php risque donc d'être black listée...
Voici ce que j'ai essayé:
.
Ce statut et cette latence s'insert dans une base de données et je récupére ces données pour l'afficher dans un tableau de résultat