Page 1 sur 2
PURE FTP
Publié : ven. 08/mars/2013 13:20
par Backup
+
Re: PURE FTP
Publié : sam. 09/mars/2013 7:38
par jbernard13
super travail dobro , j"adore étudier tes codes .
Re: PURE FTP
Publié : sam. 09/mars/2013 13:08
par doudouvs
Ca marche un autre serveur que Free

Par contre il n'affiche pas les fichiers distants qui commence par un point
Re: PURE FTP
Publié : sam. 09/mars/2013 13:19
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."
Re: PURE FTP
Publié : sam. 09/mars/2013 16:36
par Backup
pour le moment je vais me concentrer sur Ftpperso.free.fr
apres on verra

Merci
Re: PURE FTP
Publié : sam. 09/mars/2013 17:16
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
Re: PURE FTP
Publié : sam. 09/mars/2013 19:33
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é
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 ...

Re: PURE FTP
Publié : sam. 09/mars/2013 21:42
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."
Re: PURE FTP
Publié : sam. 09/mars/2013 23:04
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.
Re: PURE FTP
Publié : sam. 09/mars/2013 23:43
par doudouvs
Correction faite merci
Re: PURE FTP
Publié : sam. 09/mars/2013 23:49
par falsam
doudouvs a écrit :Correction faite merci
Ton code a plus d'allure. Merci à toi.
Re: PURE FTP
Publié : dim. 10/mars/2013 19:03
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 ...

Re: PURE FTP
Publié : dim. 10/mars/2013 19:12
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).
Re: PURE FTP
Publié : dim. 10/mars/2013 19:51
par jbernard13
Je rejoins Denis à propos de la fenetre, elle est trop grande en hauteur .
Re: PURE FTP
Publié : dim. 10/mars/2013 20:05
par Backup
arg , a cause de mon Ordi FullHD
je corrigerai ça demain
