IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

LabVIEW Discussion :

[LabVIEW 8.2][Débutant] Client FTP


Sujet :

LabVIEW

  1. #1
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [LabVIEW 8.2][Débutant] Client FTP
    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 :
    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 *******.
    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.
    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


  2. #2
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Je répond à mon post car j'ai un autre problème : Je n'arrive pas à ouvrir un canal de données. Je spécifie un port (5005) sur lequel converser avec le serveur avec la commande "PORT" puis par exemple ici, j'envoie la commande "LIST".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    200 PORT command successful.
    425 Can't build data connection: Connection refused.
    J'ai regardé ce qui passait sur la carte réseau avec Ethereal et j'ai obtenu ca :


    Mon client répond bien sur le canal de données mais le serveur veut pas le créer.
    Si quelqu'un a une idée du pourquoi du refus du serveur, je suis preneur.
    A bientôt.

  3. #3
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    1 144
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 144
    Points : 1 973
    Points
    1 973
    Par défaut
    Salut,

    Manquant d'expérience, la seule chose que je peux te dire pour t'aider est de regarder les exemples: il y a ce qu'il faut sur comment utiliser TCP Read.

    a+
    L'urgent est fait, l'impossible est en cours, pour les miracles, prévoir un délai et un bon thermos.
    Quant aux MP techniques, autant les poster sur le forum approprié car, là, ils auront des réponses.

  4. #4
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Merci d'avoir répondu.
    Je vais continuer de chercher des exemples pour comparer .
    A bientôt.

    PS : Je passe le sujet en "Résolu" si jamais je trouve.

  5. #5
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    C'est bon j'ai trouvé . En fait il faut passer en mode passif, récupérer le port et effectuer une nouvelle connexion TCP au serveur sur ce port. Cette dernière est le canal de données, il faut la fermer une fois qu'on a fini.
    C'était plus un problème de réseau que de programmation en fait, désolé pour le mauvais forum .
    A bientôt.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/10/2009, 02h26
  2. [Débutant(e)] cherche client FTP en java
    Par javac*.java dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 02/02/2006, 11h31
  3. Librairie client FTP
    Par Anonymous dans le forum Développement
    Réponses: 2
    Dernier message: 14/05/2004, 15h35
  4. Client FTP sous Linux ?
    Par DgG dans le forum Réseau
    Réponses: 7
    Dernier message: 26/01/2004, 19h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo