Fermer une connexion FTP avec Wininet

Rome05 Messages postés 7 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 10 juillet 2006 - 13 juil. 2005 à 10:47
Rome05 Messages postés 7 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 10 juillet 2006 - 13 juil. 2005 à 12:35
Hello,


Voila, j'ai une application qui tourne et qui se connecte toutes les 5 secondes à un serveur FTP.


Toutes les 5 secondes, ils ouvrent une connection, fait des verifications, et ensuite se ferme.


Le probleme, est que la connexion ne se ferme pas. Ca pose le probleme que je me retrouve apres quelleques heures avec des milliers de connexion ftp et que du coup ça fait tout planter.
Voici le code que j'utilise pour fermer la connection.


'Envoi ftp classique
'close the FTP connection
InternetCloseHandle hConnection

InternetCloseHandle hOpen

MsgBox (Err.LastDllError)'retourne 6



Quand je fais remonter une erreur de la DLL via Err.LastDllError, il me remonte un erreur numero 6.
Mais je ne sais pas comment interpreter ce 6, et ou trouver les explications sur internet la concernant.
Donc, Comment fermer ma connection? Qu'est ce qui peut faire planter la fermeture?

Merci d'avance pour votre aide

3 réponses

Egyde Messages postés 158 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 16 juillet 2007
13 juil. 2005 à 12:14
Si Wininet te permet d'envoyer des commandes RAW, tu devrais essayé avec "QUIT".
0
Egyde Messages postés 158 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 16 juillet 2007
13 juil. 2005 à 12:19
Pour l'erreur 6, je suis pas sûr :

ERROR_HTTP_HEADER_ALREADY_EXISTS (The header could not be added because it already exists.)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceinternet5/html/wce50grfWinInetErrorMessages.asp

En fait, ça dépend si ta DLL renvoi l'erreur de Wininet ou son propre code. C quoi comme DLL? Un truc fait maison?
0
Rome05 Messages postés 7 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 10 juillet 2006
13 juil. 2005 à 12:35
Non, non, il s'agit de wininet.dll, fournit par microsoft.


Je pense que Err.LastDllError renvoie bien l'erreur aparu dans la dll wininet.
Il n'est pas possible d'envoyer de requete de type QUIT.
La fonction n'existe pas, et wininet ne permet pas de faire de la comm bas niveau avec un serveur ftp. Je veux dire par la que l'on ne peut pas envoyer des commandes console aux serveurs via une methode.
0