Bonjour à tous.
Je dois réaliser un programme qui récupère sur un serveur FTP un fichier. L'entreprise (allemande) qui m'emploie ne possède pas l'extension "Internet Tools", je dois donc recoder à la main un "client" FTP.
Pour l'instant j'essaie juste de communiquer avec le serveur : J'arrive à ouvrir une connection TCP pour les commandes (canal de commande), à me logguer avec nom d'utilisateur et mot de passe, à récupèrer (à peu près correctement) les confirmations du serveur (le code suivi du texte) avec la fonction/bloc "TCP : Lecture" (je suppose que c'est ce nom en Francais, étant donné que mon LabView est en Allemand).
Mon problème est que je dois spécifier un nombre d'octets (512 en l'occurence pour être large) et un mode (CRLF, je finis ma lecture à la fin de la ligne/retour chariot). Je voudrais m'affranchir de cette contrainte car, par exemple si je fais "QUIT" (en m'étant connecté avec la console Windows), le serveur me renvoit :
J'ai donc plusieurs lignes, donc le mode CRLF n'est pas adapté, ni les autres car ne connaissant pas le nombre d'octets à récupérer, le bloc lit (toutes les lignes) jusqu'au TimeOut car il attend d'autres octets qui n'arrivent pas, ce qui crée une erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 221- Data traffic for this session was 0 bytes in 0 files. Total traffic for this session was 181 bytes in 0 transfers. 221 Thank you for using the FTP service on *******.
A bientôt.
Edit : En cherchant un peu, j'ai trouvé un moyen de lire plusieurs lignes. Pour lire je rentre dans une boucle while qui lit tant qu'il n'y a pas d'erreurs. C'est un peu sale mais ca marche
Partager