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

Réseau C Discussion :

Envoi de fichier via socket FTP C / lib windows


Sujet :

Réseau C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 11
    Points : 10
    Points
    10
    Par défaut Envoi de fichier via socket FTP C / lib windows
    Bonsoir,

    Je ne suis pas venu en touriste aujourd'hui ni venu vous embêter car j'ai chercher une semaine à exploiter des connaissances en socket. J'ai réussi à me débrouiller via quelques tutorial mais aujourd'hui je bloque.

    J'arrive à me connecter à mon serveur FTP et à lui faire executer des commandes. Je pense avoir compris le principe du client/serveur et du pourquoi du comment cela fonctionne.
    Pourtant je n'arrive pas à envoyer un fichier et la je bloque vraiment.


    A ce que j'ai compris pour envoyer un fichier une fois connecté il faut :
    -Passer le FTP en passif
    -Envoyer une commande STOR monFichier pour que le FTP soit prêt à recevoir les informations
    -Récupérer h1,h2,h3,h4,p1,p2 et se connecter sur le port p1*256+p2 sur lequel le FTP est prêt à écouter pour recevoir les données
    -Envoyer par le biais de buffer de taille 1024 par convention des bouts du fichier jusqu'à ce que celui ci atteigne EOF.

    J'aimerais venir ici en touriste sans rien avoir compris mais ce n'est pas le cas car j'ai fais beaucoup de recherches.

    Si quelqu'un pourrait me dire si ce que je dis ci-dessus est un panaché de conneries ou si je saute des étapes ...
    De plus si quelqu'un a un bout de code assez explicite pour envoyer un simple fichier sur un FTP j’apprécierais grandement !



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    sin.sin_port=htons((p1*256)+p2);
    execute_cmd(sock,"STOR voici.txt\r\n");
    send(sock,buffertest,sizeof(buffertest),0);
    ...


    Merci à ceux qui pourront m'aider dans ma recherche !

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 109
    Points : 168
    Points
    168
    Par défaut
    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
    23
     
    #include <wininet.h>  // -lwininet
     
    #define SERV "xxxxxxxx"
    #define USER "xxxxxxxx"
    #define PASS "xxxxxxxx"
    #define FSRC "file_src"
    #define FDST "file_dst"
     
    int main(void)
    {
      HINTERNET hInet, hFtp;
     
      if((hInet = InternetOpen(0, INTERNET_OPEN_TYPE_DIRECT, 0, 0, 0)) != INVALID_HANDLE_VALUE) {
        if((hFtp = InternetConnect(hInet, SERV, INTERNET_DEFAULT_FTP_PORT, USER, PASS, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0)) != INVALID_HANDLE_VALUE) {
           FtpPutFile(hFtp, FSRC, FDST, FTP_TRANSFER_TYPE_BINARY, 0);
           InternetCloseHandle(hFtp);
        }
        InternetCloseHandle(hInet);
      }
     
      return 0;
    }

Discussions similaires

  1. envoi de fichier via socket TCP
    Par thaiexpat dans le forum Réseau/Web
    Réponses: 1
    Dernier message: 27/11/2013, 21h08
  2. Réponses: 7
    Dernier message: 18/05/2011, 21h06
  3. Réponses: 1
    Dernier message: 27/04/2011, 07h32
  4. Envoi de fichier via FTP
    Par constantin22 dans le forum LabVIEW
    Réponses: 2
    Dernier message: 13/10/2009, 19h19
  5. envoi fichier via socket
    Par snakemetalgear dans le forum Réseau
    Réponses: 7
    Dernier message: 09/06/2007, 16h55

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