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

Visual C++ Discussion :

Erreur Connection Wininet


Sujet :

Visual C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 387
    Par défaut Erreur Connection Wininet
    Bonjour,

    J'ai télécharger sur internet un projet (JFTP) qui gère la réception de fichiers via FTP. Je le compile, aucun problème.
    Ensuite, je l'insère dans un projet MFC, et je ne parviens pas à me connecter sur le serveur FTP.
    Que faudrait-il faire ?

    J'ai identifié le lieu du problème
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    #include "stdafx.h"
    #include "global.h"
    
    /* Connexion au serveur FTP */
    boolean ConnexionFTP( char *Serveur, char *Login, char *MotDePasse, DWORD Port )
    {
    	PConnexionInternet = InternetOpen(L"J-FTP", INTERNET_OPEN_TYPE_DIRECT,/* NULL, NULL*/0,0, 0 );
    	if ( PConnexionInternet == NULL ) <-- OK ICI, ne rentre pas
    	{
    		return FALSE;
    		ExitProcess(1);
    	}
      
    	PConnexionFTP = InternetConnect( PConnexionInternet, (LPCWSTR)Serveur, (INTERNET_PORT)Port, (LPCWSTR)Login, (LPCWSTR)MotDePasse, INTERNET_SERVICE_FTP, 0, 0 );
    
    	if ( PConnexionFTP == NULL ) <-- Rentre dedans, donc problème
    	{
    	    InternetCloseHandle( PConnexionInternet );
    	    return FALSE;
    	    ExitProcess(1);
    	}
    
    	return TRUE;
    
    }
    
    boolean changeRepertoire(char* newrep)
    {
        return FtpSetCurrentDirectory(PConnexionFTP,L"ankamagam");
    }
    
    /* Detruit les pointeurs de connection */
    void Deconnexion()
    {
        InternetCloseHandle( PConnexionInternet );
        InternetCloseHandle( PConnexionFTP );
    }
    
    /* DownLoad Fichier */
    boolean DownLoadFile( char *FichierSurFTP, char *FichierACreer )
    {
        return FtpGetFile( PConnexionFTP, (LPCWSTR)FichierSurFTP, (LPCWSTR)FichierACreer, FALSE, 0, FTP_TRANSFER_TYPE_BINARY, 0 );
    }
    
    /* Upload Fichier */
    void UpLoadFile( char *FichierLocal, char *FichierFTP )
    {
        FtpPutFile( PConnexionFTP, (LPCWSTR)FichierLocal, (LPCWSTR)FichierFTP, FTP_TRANSFER_TYPE_BINARY, 0 );
    }
    Le problème pourrait être du au fait que le problème original n'utilise pas UNICODE, alors que moi, je DOIT m'en servir. Mais comme InternetOpen semble fonctionner, je ne pense pas vraiment que le probème vienne de là.

    Quelqu'un aurait-il une solution ?

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    (LPCWSTR)FichierLocal
    très mauvais.
    Un cast ne convertit pas la chaîne.

    De plus, tu dois plutôt être en TCHAR qu'en WCHAR, ici...

    Conseil : utilise une classe C++ de chaîne pouvant être construite à partir de char et WCHAR (genre, les CString/CStringT de MFC) ou une classe perso faite pour cela...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 387
    Par défaut
    Mais il exige que je fasse ce cast.
    Et comment faire que mon projet puisse utiliser des wchar ou des tchar ???


    NB : après tests, le problème vient bel et bien du fait que je doive utiliser UNICODE, car j'ai créé un projet "simple" utilisant UNICODE, et je n'arrivait pas à me connecter.
    Et à partir du moment où je lui ai précisé de "Use Multi-Byte Character Set", il a téléchargé.

    Mais je ne peux pas faire cette modif sur ce projet (car si je modifie les paramètres de mon projet, il ne compile plus ). Donc y aurait-il un moyen de finter ??

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Je te l'ai dit : Il faut convertir.

    Si le programme utilise MFC, c'est très simple : Passer par des CString.
    Sinon, il faut définir ou trouver sur le net des classes de chaîne qui font la conversion dans leur constructeur...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 387
    Par défaut
    Citation Envoyé par Médinoc
    Je te l'ai dit : Il faut convertir.

    Si le programme utilise MFC, c'est très simple : Passer par des CString.
    Sinon, il faut définir ou trouver sur le net des classes de chaîne qui font la conversion dans leur constructeur...

    OK, mais comment include CString ? Quelle classe importer ? Car si je définie une variable "CString s", il me dit qu'il ne connait pas CString.

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Donc, c'est que ton programme n'utilise pas MFC.

    Cherche sur codeproject ou codeguru, tu trouveras sûrement des classes de chaînes de caractères qui font la conversion dès le constructeur.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

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

Discussions similaires

  1. [PEAR][DB] Erreur : CONNECT FAILED
    Par prog2003 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 20/04/2007, 10h06
  2. Axis : message d'erreur "Connection refused"
    Par lerouxju dans le forum Services Web
    Réponses: 1
    Dernier message: 04/08/2006, 13h56
  3. Erreur connection à une base Mysql avec c#
    Par zidenne dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 24/04/2006, 14h58
  4. Erreur sur Wininet
    Par simoni dans le forum Windows
    Réponses: 4
    Dernier message: 07/10/2005, 16h19
  5. erreur connection postgresql jsp
    Par tatay dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 24/06/2003, 13h50

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