Bonsoir
je suis en train de finaliser un système de moteur de recherche sur FTP à l'intérieur d'un campus, tout se passe "bien", mais je suis en train de finir en créant un module permettant de vérifier, disons toutes les heures, les serveurs encore en ligne.
Je stocke bien évidement les "coordonnées" des serveurs (ip, dernière fois vu en ligne..) dans une base sql.
Pour vérifier si un serveur est en ligne, je tente de m'y connecter, si le serveur répond, alors je mets à jour la valeur enLigne =1 sinon je la mets à 0.
Tout se passe bien "a priori", parce que dès que je lance le script sur tous les serveurs connus (environ 200), j'obtiens des résultats "normaux", au début, puis à partir d'un moment, tous les serveurs scannés apparaissent comme hors ligne, comme si j'avais atteint une limite de connexion. Cette limite varie d'une fois à une autre en plus !
Le code php itéré dans la boucle ressemble donc à cela :
J'ai essayé diverses valeurs de timeout, mais toujours le même problème, de plus, j'ai rédigé le même type de programme en python et en java, et le même phénomène s'est manifesté !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 while ($data = mysql_fetch_assoc($sql)) { $ftp = ftp_connect($ip, 21, 1); if ($ftp) { echo "Connexion FTP réussie...<br />"; $compteur++; } else { echo "La connexion FTP a échoué<br />"; continue; } ftp_close($ftp); }
Si quelqu'un a une idée d'où cela peut venir, d'avance merci
Partager