Bom dia pessoal!
Estou tentando fazer um programinha client de FTP e estou tendo alguns problemas, mas não com o java especificamente. Mais na partde do próprio protocolo FTP.
Consegui fazer a conexão com o servidor e enviar alguns comandos como USER, PASS, CWD, PWD…
Ao que diz respeito à visualização e transferência de arquivos (LIST, RETR) estou tendo dificuldades, pois o server me manda uma mensagem tipo “Openinmg data connection to /bin/ls” e eu não sei o que fazer. Após um tempo ele me manda uma msg de time out.
O que me disseram é que eu tenho que usar o comando PORT para dizer ao server em que porta eu quero receber a listagem dos dados (por exemplo).
Então fiz uma ServerSocket que escutava a porta 2222, e usei o comando PORT informando meu ip e essa porta.
mas mesmo assim não recebo nada.
Alguem conhece bem o protocolo FTP ou sabe onde eu posso encontrar essas informações?
então… mas o retorno do meu comando PORT está ok… eu num to sabendo o ke fazer depois disso…
e a documentação RFC eu ate li, mas teve algumas coisas ke eu nao entendi… justamente por isso eu vim pedir um help pra vcs.
[]s
Tenta usar o modo passivo… pra ver se funciona…
Manda PASV + END_OF_LINE que ele te retornará um ip e uma porta onde vc deve se conectar… daí vc usa um socket normal…
Só te lembra que os comando vc envia por um socket, o outro só é usado para envio de dados…
certo!!! era essa minha duvida! na verdade, vc acabou “adivinhando” minha duvida principal hehehe… pq eu num perguntei explicitamente isso…
então farei o seguinte:
envio o comando PASV, pego o ip e porta ke o server me mandar e abro uma nova socket através de um threadzinha só pra “escutar” pelo envio de dados, mas continuarei enviando comandos pela minha socket “principal”…
grande, consegui!
muito obrigado MESMO!!!
era isso mesmo… tem ke dar um comando PASV pro server me dizer ke porta ele ker ke eu receba dados… e ja era…
agora eu tenho ke fazer o trabalho direito… pq eu fiz tudo numa classe soh hauahUAhUAh pra testar… agora vou PROGRAMAR EM JAVA MESMO.
isso foi mais um teste pra entender o tal protocolo FTP.
agora blz…
valeu a todos ke ajudaram ai!!!
[´]s!
Estou com o mesmo problema aqui, mas a pergunta é a seguinte: eu mando o PASV e tenho o ip e a porta (ip,ip,ip,ip,port,port).
Em seguida eu uso o comando PORT, configuro o socket com essa porta e mando os comandos pela 21 e recebo os dados por ela. Essa é a sequencia?