Avatar billede netsrac Praktikant
03. januar 2002 - 02:13 Der er 9 kommentarer og
1 løsning

FTP Server og PASV

Sidder her på de sene natte timer med en ide om at jeg skal have lavet en FTP server i java, det går også meget godt, men men hvad dælen gør jeg med PASV, hvordan skal mit program reagere når det får den kommando fra clienten ?

http://www.dreamhaven.net/ftp-raw.html#PASV

Skal jeg starte en ny socket på en virkårlig port eller hvad ?
Avatar billede lbhansen Nybegynder
03. januar 2002 - 12:27 #1
du skal oprette en ServerSocket på en given port, og sende en 227 til klienten, som informerer om hvilken port du lytter på.

Det nemmeste er at logge ind på en given ftp server via en telnet, så kan du se hvilken format kommandoen er i, når du har skrevet PASV til den.
Avatar billede netsrac Praktikant
03. januar 2002 - 12:30 #2
Jeg har fundet ud af hvordan den skal sende kommandoer tilbage og har imellemtiden også fået den til at opsætte en ny ServerSocket på en virkårlig port mellem 3000 og 4000 men spørgsmålet er om der er noget møsnter i de porte som ftp servere bruger  ?
Avatar billede lbhansen Nybegynder
03. januar 2002 - 17:24 #3
serveren bruger den port som den ønsker. Dvs at du bare kan lave en port lige nøjagtig som du ønsker. Fx er new ServerSocket() rimeligt, og så bare spørge hvilken port den bruger, og så bruge den.

Det burde ikke være nødvendigt at begrænse til en portrange, da de fleste routere forstår at fortolke de nødvendig ftp kommandoer.
Avatar billede netsrac Praktikant
03. januar 2002 - 17:50 #4
Lige et lille side spørgsmål, når serveren er gået i passiv mode, skal brugeren så have alt data på den nye port eller hvordan filen ?

Jeg er kommet over PASV stadiet, nu bøvler jeg med LIST kommandoen.
Avatar billede lbhansen Nybegynder
03. januar 2002 - 18:02 #5
Det er kun data der skal over denne forbindelse.
Dvs. At når du har modtaget en LIST, skal du over
din kontrolport sende en.
150
derefter sender du over din dataconnection din directory listing. Når dette er gjort så sender du en 226 over kontrolporten
Avatar billede netsrac Praktikant
03. januar 2002 - 18:17 #6
Hm..en 150, jeg troede det var en 125 der skulle sendes først, måske det er der fejlen ligger, er der et sted hvor du slår de kommandoer op eller ?
Avatar billede lbhansen Nybegynder
03. januar 2002 - 20:24 #7
jeg har siddet og pillet lidt med det selv, og ellers er denne side også meget god at hente info fra.
http://war.jgaa.com/ftp/?cmd=rfc
Avatar billede netsrac Praktikant
03. januar 2002 - 20:44 #8
Tak for linket, jeg har fået det til at virke med 125, havde bare glemt at kalde flush() på outputStreamen. Smider lige lidt ekstra point på som tak for den ekstra hjælp :)
Avatar billede lbhansen Nybegynder
03. januar 2002 - 20:52 #9
det var da så lidt:) Held og lykke med serveren
Avatar billede netsrac Praktikant
03. januar 2002 - 20:57 #10
Tak :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester