Bonsoir,
PHP ne me retourne aucun message d'erreur mais je vous explique :
- Quand je ping un serveur manuellement, la bonne valeur est retournée
- Quand je ping via une classe, la mauvaise valeur est retournée
cela m'affiche 1 et c'est la bonne valeur (puisque le serveur est pingable)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?php $ip="94.23.195.132"; $port="27105"; $enLigne = @fsockopen ('tcp://'.$ip, $port, $errno, $errstr, 3); if (!$enLigne) { print 0; } else { fclose($enLigne); print 1; } ?>
Maintenant, passons à ma classe, (c'est la première fois que je fais de la POO)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <?php class serveurValide { function ping($ping, $port) { $enLigne = @fsockopen ('tcp://'.$ip, $port, $errno, $errstr, 5); if (!$enLigne) { return 0; } else { return 1; fclose($enLigne); } ................. } ?>
Et la, comme par magie, pouf, il me retourne 0 comme si c'était offline alors que c'est le même serveur !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <?php include('../functions/dbconn.php'); include('class_ping.php'); $req = "SELECT iPserv , port, idServ, essai, echec, reussite FROM serveur WHERE idServ = 298 "; $resultat = mysql_query($req); while($val = mysql_fetch_array($resultat)) { $serveur = new serveurValide(); $ip = $val['iPserv']; $port = $val['port']; echo $ip; // 94.23.195.132 echo $port; // 27105 $output = $serveur -> ping($ip, $port) ; echo $output; } ?>
Qu'est ce que j'ai manqué ?
Merci![]()
Partager