PURE FTP

Programmation d'applications complexes
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

PURE FTP

Message par Backup »

+
Dernière modification par Backup le lun. 18/août/2014 16:57, modifié 9 fois.
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

Re: PURE FTP

Message par jbernard13 »

super travail dobro , j"adore étudier tes codes .
Jbernard13
doudouvs
Messages : 244
Inscription : jeu. 07/mars/2013 19:02
Localisation : France Alsace / Espagne Girona

Re: PURE FTP

Message par doudouvs »

Ca marche un autre serveur que Free :)
Par contre il n'affiche pas les fichiers distants qui commence par un point
GCC 7.4.0 / PureBasic 5.71 / Ubuntu 18.04.3 LTS
doudouvs
Messages : 244
Inscription : jeu. 07/mars/2013 19:02
Localisation : France Alsace / Espagne Girona

Re: PURE FTP

Message par doudouvs »

J'ai verifier les logs la déconnection ne marche pas, il doit envoyer
FTP response: Client "IP", "221 Goodbye."


Connexion (log)
Sat Mar 9 13:27:15 2013 [pid 2] CONNECT: Client "*.*.*.*"
Sat Mar 9 13:27:15 2013 [pid 2] FTP response: Client "*.*.*.*", "220 Bienvenue sur ce serveur FTP !"
Sat Mar 9 13:27:15 2013 [pid 2] FTP command: Client "*.*.*.*", "USER login"
Sat Mar 9 13:27:15 2013 [pid 2] [login] FTP response: Client "*.*.*.*", "331 Please specify the password."
Sat Mar 9 13:27:15 2013 [pid 2] [login] FTP command: Client "*.*.*.*", "PASS <password>"
Sat Mar 9 13:27:15 2013 [pid 1] [login] OK LOGIN: Client "*.*.*.*"
Sat Mar 9 13:27:15 2013 [pid 3] [login] FTP response: Client "*.*.*.*", "230 Login successful."
Sat Mar 9 13:27:15 2013 [pid 3] [login] FTP command: Client "*.*.*.*", "TYPE A"
Sat Mar 9 13:27:15 2013 [pid 3] [login] FTP response: Client "*.*.*.*", "200 Switching to ASCII mode."
Sat Mar 9 13:27:15 2013 [pid 3] [login] FTP command: Client "*.*.*.*", "PASV"
Sat Mar 9 13:27:15 2013 [pid 3] [login] FTP response: Client "*.*.*.*", "227 Entering Passive Mode (*,*,*,*,78,34)."
Sat Mar 9 13:27:16 2013 [pid 3] [login] FTP command: Client "*.*.*.*", "LIST"
Sat Mar 9 13:27:16 2013 [pid 3] [login] FTP response: Client "*.*.*.*", "150 Here comes the directory listing."
Sat Mar 9 13:27:16 2013 [pid 3] [login] FTP response: Client "*.*.*.*", "226 Directory send OK."
Sat Mar 9 13:27:16 2013 [pid 3] [login] FTP command: Client "*.*.*.*", "CWD /"
Sat Mar 9 13:27:16 2013 [pid 3] [login] FTP response: Client "*.*.*.*", "250 Directory successfully changed."
Sat Mar 9 13:27:16 2013 [pid 3] [login] FTP command: Client "*.*.*.*", "TYPE A"
Sat Mar 9 13:27:16 2013 [pid 3] [login] FTP response: Client "*.*.*.*", "200 Switching to ASCII mode."
Sat Mar 9 13:27:16 2013 [pid 3] [login] FTP command: Client "*.*.*.*", "PASV"
Sat Mar 9 13:27:16 2013 [pid 3] [login] FTP response: Client "*.*.*.*", "227 Entering Passive Mode (*,*,*,*,78,58)."
Sat Mar 9 13:27:16 2013 [pid 3] [login] FTP command: Client "*.*.*.*", "LIST"
Sat Mar 9 13:27:16 2013 [pid 3] [login] FTP response: Client "*.*.*.*", "150 Here comes the directory listing."
Sat Mar 9 13:27:16 2013 [pid 3] [login] FTP response: Client "*.*.*.*", "226 Directory send OK."
Sat Mar 9 13:27:45 2013 [pid 3] [login] FTP command: Client "*.*.*.*", "NOOP"
Sat Mar 9 13:27:45 2013 [pid 3] [login] FTP response: Client "*.*.*.*", "200 NOOP ok."
GCC 7.4.0 / PureBasic 5.71 / Ubuntu 18.04.3 LTS
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: PURE FTP

Message par Backup »

pour le moment je vais me concentrer sur Ftpperso.free.fr
apres on verra :) Merci
doudouvs
Messages : 244
Inscription : jeu. 07/mars/2013 19:02
Localisation : France Alsace / Espagne Girona

Re: PURE FTP

Message par doudouvs »

Sans problème sache que ton programme marche sur d'autre FTP :)
J'ai regarder de plus près CloseFTP() en fait il ferme uniquement la connexion niveau logiciel ce qui risque de posé des problèmes. Si tu à un hébergeur qui n'autorise que 2 connexion tu va avoir 2 connexions fantôme, tant que le serveur ne les kill pas tu ne pourra pas en faire une 3em.

ce qu'il faudrait envoyer au serveur c'est un "QUIT" et il doit répondre "221 Goodbye."

Si tu souhaite maintenir une connexion ouverte, ton programme doit aussi envoyer toutes les X temps un "NOOP" ou "STAT" autrement le serveur la fermera
GCC 7.4.0 / PureBasic 5.71 / Ubuntu 18.04.3 LTS
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: PURE FTP

Message par Backup »

doudouvs a écrit :Sans problème sache que ton programme marche sur d'autre FTP :)
J'ai regarder de plus près CloseFTP() en fait il ferme uniquement la connexion niveau logiciel ce qui risque de posé des problèmes. Si tu à un hébergeur qui n'autorise que 2 connexion tu va avoir 2 connexions fantôme, tant que le serveur ne les kill pas tu ne pourra pas en faire une 3em.

ce qu'il faudrait envoyer au serveur c'est un "QUIT" et il doit répondre "221 Goodbye."

Si tu souhaite maintenir une connexion ouverte, ton programme doit aussi envoyer toutes les X temps un "NOOP" ou "STAT" autrement le serveur la fermera

Merci , ça c'est le genre de truc qu'il faudrait allez dire a Fred sur le Forum Anglais ... (il ne passe pas souvent ici , et ne lit pas toujours les messages ... )
ça ferai avancer Purebasic ;)
si le CloseFTP fait ce que tu dis, il s'agit d'un bug a mon avis ..
car le but de cette fonction c'est bien de couper la liaison FTP ...

ps: je suis en train de revoir completement le code pour permettre le Upload/Download multiple (via Liste Queue )

mais le plus gros truc, (ou je risque peut etre de me décourager , ça sera de prendre en compte les Dossiers ....
j'aime bien la recursivité , mais avec la Lib FTP de purebasic , je sens que ça va etre rock'nRoll

je passe plus de temps a essayer de comprendre le fonctionnement de certain Gadget , qu'a coder !!

( c'est LE truc qui me gave en Purebasic ) les Exemples de la doc ne parle pas de toute les possibilités , et en plus
ç'est tres flou .... je pense notamment a GetGadgetItemState() de l'explorerlistGadget , qui est une vrai incompréhension

les parametres #PB_Explorer_Selected|#PB_Explorer_Directory etc.. qui sont completement illogique dans leur présentation

pourquoi faire simple lorsqu'on peut faire compliqué :roll:
etc ... plus je me met a coder en PB , plus je me prends la tete avec le langage , et pas avec le But du prg ... :?
doudouvs
Messages : 244
Inscription : jeu. 07/mars/2013 19:02
Localisation : France Alsace / Espagne Girona

Re: PURE FTP

Message par doudouvs »

Voila une solution à mon avis FTP machin n'ai pas complet par network tu doit aussi pouvoir réceptionner des DATA pour pouvoir faire des contrôles fiable.

Code : Tout sélectionner

If InitNetwork() = 0
  MessageRequester("Error", "Impossible d'initialiser le réseau", 0)
  End
EndIf
 OpenFTP(0, "Domaine or IP", "USER", "PASS")
 
 Delay(1500) ;on ajoute un delai le temps que le serveur puisse répondre
 
 
 ;on passe par Network histoire de pouvoir lui envoyer quelques commande perso
  
  ConnectionID = OpenNetworkConnection("Domaine or IP", 21)
  If ConnectionID
    
      MessageRequester("PB - Client", "Une chaîne STAT va etre envoyé au serveur, vérifier ...", 0)

   SendNetworkString(ConnectionID, "STAT" + #LFCR$) ;test d'une cmd pour garder une connexion active "STAT" plus propre, certain serveur ne répondent pas à "NOOP"
    
      MessageRequester("PB - Client", "Une chaîne QUIT va etre envoyé au serveur, vérifier ...", 0)
   
   SendNetworkString(ConnectionID, "QUIT" + #LFCR$) ;on envoi un "QUIT" au FTP pour killer la connexion sur le serveur
      
  CloseNetworkConnection(ConnectionID)

EndIf
  CloseFTP(0)

Fichier de log :

Sat Mar 9 21:52:53 2013 [pid 2] CONNECT: Client "IP"
Sat Mar 9 21:52:53 2013 [pid 2] FTP response: Client "IP", "220 Bienvenue sur ce serveur FTP !"
Sat Mar 9 21:52:53 2013 [pid 2] FTP command: Client "IP", "USER ***"
Sat Mar 9 21:52:53 2013 [pid 2] [Domaine.com] FTP response: Client "IP", "331 Please specify the password."
Sat Mar 9 21:52:53 2013 [pid 2] [Domaine.com] FTP command: Client "IP", "PASS <password>"
Sat Mar 9 21:52:53 2013 [pid 1] [Domaine.com] OK LOGIN: Client "IP"
Sat Mar 9 21:52:53 2013 [pid 3] [Domaine.com] FTP response: Client "IP", "230 Login successful."
Sat Mar 9 21:52:54 2013 [pid 2] CONNECT: Client "IP"
Sat Mar 9 21:52:54 2013 [pid 2] FTP response: Client "IP", "220 Bienvenue sur ce serveur FTP !"
Sat Mar 9 21:52:56 2013 [pid 2] FTP command: Client "IP", "STAT"
Sat Mar 9 21:52:56 2013 [pid 2] FTP response: Client "IP", "530 Please login with USER and PASS."
Sat Mar 9 21:52:57 2013 [pid 2] FTP command: Client "IP", "QUIT"
Sat Mar 9 21:52:57 2013 [pid 2] FTP response: Client "IP", "221 Goodbye."
Dernière modification par doudouvs le sam. 09/mars/2013 23:42, modifié 1 fois.
GCC 7.4.0 / PureBasic 5.71 / Ubuntu 18.04.3 LTS
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: PURE FTP

Message par falsam »

@doudouvs : Pour une meilleurs lisibilité, postes tes codes entres les balises [/b]. Tu as une barre d'icones texte prévu pour t'aider à placer quelques BBCodes.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
doudouvs
Messages : 244
Inscription : jeu. 07/mars/2013 19:02
Localisation : France Alsace / Espagne Girona

Re: PURE FTP

Message par doudouvs »

Correction faite merci
GCC 7.4.0 / PureBasic 5.71 / Ubuntu 18.04.3 LTS
Avatar de l’utilisateur
falsam
Messages : 7317
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: PURE FTP

Message par falsam »

doudouvs a écrit :Correction faite merci
Ton code a plus d'allure. Merci à toi.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: PURE FTP

Message par Backup »

Code de la premiere page mis a jour :)

au menu ; on peut dorenavant uploader/telecharger des fichiers meme avec Selections multiple :)

je ne gere pas les Dossiers et leur arborescence pour les Transferts ....
la liste "Queue" fonctionne ainsi que l'activity des transfers Apparaissent ...

j'ai completement revu le code pour ne garder que la Gestion par Liste Chainée ... :)

ATTENTION le bouton Erase fonctionne pour la liste Distante (meme avec les multiselection )
je n'ai pas mis d'alerte , donc faites gaffe a ce que vous effacez ...


voila , ça prends forme ....

pas encore gerré l'anti deconnection , ni le CloseFtp() , j'ai signalé le probleme sure Forum anglais ... :)

testez moi ça , et dites moi ... :)
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Re: PURE FTP

Message par Anonyme2 »

Salut Dobro,

à la compilation ,le beep y connait pas mon PB.

Ensuite, ta fenêtre est bien plus haute que mon écran et pas redimensionnable, alors je n'accède pas à la partie basse de la fenêtre.
Il faudrait que tu retrouves la hauteur disponible moins la barre de tache et que tu fasses un ratio des éléments pour que l'on puisse tout voir et que la fenêtre tienne dans l'écran.

L'API SystemParametersInfo avec la constante qui va bien permet de retrouver les dimensions utiles de l'acran (il y a peut-être un commande PB qui le fait).
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

Re: PURE FTP

Message par jbernard13 »

Je rejoins Denis à propos de la fenetre, elle est trop grande en hauteur .
Jbernard13
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: PURE FTP

Message par Backup »

arg , a cause de mon Ordi FullHD :oops:

je corrigerai ça demain :)
Répondre