Olá pessoal, estou fazendo uma simples aplicação cliente que se comunica com um servidor FTP remoto (no meu caso xpg.com.br),
Estou conseguindo logar usando USER, PASS, fazer o PASV… maaaasssss o principal que é fazer upload e download não estou conseguindo =p
eu só sei que tem que usar os comandos APPE e RETR respectivamente.
Alguém conhece algum tutorial ou coisa parecida ensinando como fazer upload e download, SEM USAR COMMONS NET ou API semelhantes, apenas via sockets TCP?
Upload é com STOR, na verdade (APPE se você quiser fazer um append no arquivo já existente, não é qualquer servidor FTP que aceita o comando APPE. Na verdade, ele é um comando “opcional”. Por exemplo, não sei se o servidor de FTP da Microsoft aceita o comando APPE. )
Que tal dar uma lida no fonte do Commons-NET? Se você olhar a spec do FTP ( http://www.faqs.org/rfcs/rfc959.html ) , vai ver que é bem complicadinho, na verdade.
Milk15
hmmm, mas esse rfc é mto grande, o que eu devo procurar especificamente? ta os comandos FTP são:
RETR
STOR
já tinha visto eles antes, mas você sabe me explicar o que são esse SP e CRLF?
-Não tenho noção de como implementar um método de upload/download usando esses comandos =p, esse pathname é o caminho do arquivo no servidor ou local?
Se esse pathname for o caminho do arquivo no diretorio local, como indicar onde salvar no servidor, e vice-versa :?
E
entanglement
é um espaço (ASCII 32).
são os dois caracteres \r\n (ASCII 13, ASCII 10).
Você não quer ler o fonte do commons-net? Você vai ver que criar um cliente de FTP é muito, muito mais complicado que parece. Em particular, o pessoal da fundação Mozilla teve um trabalhão lascado quando eles resolveram queimar o código de FTP que tinham escrito pro Netscape e tentaram refazê-lo do zero. Descobriram que o código a ser feito é realmente muito complexo.
Milk15
Nuss cara valeu mesmo! era isso que eu temia, a medida que eu tentava implementar, eu não posso usar api da commons net porque o meu professor disse que não poderia usar nenhum classe especializada que envolve comunicação cliente-servidor nesse trabalho
vou ver o que é que faço agora então! valeu!