Avatar billede danielhep Nybegynder
03. februar 2003 - 18:23 Der er 7 kommentarer og
1 løsning

FTP talk

Jeg har et problem med min FTP server, jeg vil med winsocket kommunikere med FTP.

send(soket,"USER Test\n",15,0);

Jeg sender min streng, og har fået fortalt at jeg skal huske at skriver \n i enden af min streng ellers opfatter FTP server ikke min kommando...Er det noget som jeg skal huske at gøre ??

mvh
Daniel
Avatar billede arne_v Ekspert
03. februar 2003 - 18:29 #1
FTP protokollen er et helvede at implementere korrekt.

Du skal uden tvivl sende "USER Test\r\n" og ikke "USER Test\n".

Og så vidt jeg kan tælle skal du ikke sende 15 men 11 (eller 10 uden rettelsen ovenfor).
Avatar billede danielhep Nybegynder
03. februar 2003 - 18:32 #2
Arne_v >>

Det betyder ikke så meget hvor stor pakken er, det er mere det med at den ikke opfatter at jeg logger ind.  MIn FTP server opfatter at jeg er connected, men på en eller anden måde så vil den bare ikke logge ind.

Har du forstand på Winsock, og har du prøvet at kommunikeret med en FTP server før ??

mvh

Daniel
Avatar billede arne_v Ekspert
03. februar 2003 - 18:37 #3
Jeg har erfaring med socket programmering (ikke med winsock) og
med FTP protokollen.

Og jeg har altid sendt \r\n efter kommandoerne.

Og medmindre der er noget winsock specifikt, så vil det også
være et problem at længden er forkert.
Avatar billede arne_v Ekspert
03. februar 2003 - 18:37 #4
En standard socket send sender nemlig ikke en nul termineret
streng - den sender et char array og nul bytes bliver også sendt.
Avatar billede danielhep Nybegynder
04. februar 2003 - 12:37 #5
Arne_v

Nu ved jeg også at hvis man skal holde sig til standarderne så hedder der Unix, og ikke Windows..Men det kan jo være at det er Win som fucker i det..Men jeg skal da lige prøve med \r...'

mvh

Daniel
Avatar billede arne_v Ekspert
04. februar 2003 - 12:51 #6
Jeg har såmænd ikke noget imod Windows. Jeg har bare ikke så stor
erfaring med sockets på Windows. Grunden til at jeg kalder Unix sockets
for "standard" er bare at de er opfundet der. Der ligger ikke noget
"unix er bedre end windows" i det.

Noget helt andet er: når man skal kode FTP klient, så er det en
stor fordel at have en FTP-server som logger alle kommandoer
den modtager og alle fejl i en log-fil.
Avatar billede arne_v Ekspert
04. februar 2003 - 12:52 #7
Har du betsmt dig for om du vil bruge PASV eller din klient skal
fungere som server på data porten ?
Avatar billede siz23 Nybegynder
04. februar 2003 - 13:50 #8
har du testet hvilket response du for tilbage fra din ftp server. For du må ikke sende dit USER bla.bla før du har fået en "220" Service ready.
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