15. februar 2002 - 19:26Der er
2 kommentarer og 2 løsninger
Ftp med Socket.TCP
Jeg har nedenstående script, hvor jeg gerne vil have en liste over filer og mapper på ftp-serveren.
Hvordan kan man få den til at vise listen, min kode virker nemlig ikke, den kommer kun med denne tekst:
w3 Sockets tester
220 Serv-U FTP-Server v2.5e for WinSock ready... 331 User name okay, need password. 230 User logged in, proceed. 215 UNIX Type: L8 257 "/c:/test1" is current directory. 200 Type set to A. 150 Opening ASCII mode data connection for /bin/ls. 226 Transfer complete. Script time: 20,04 Error:-2147418113: Timeout expired while waiting for socket event.
Jeg kender ikke Socket.TCP - men jeg ved hvordan man fejlfinder. (det gør du måske også selv.)
Hvis dine kodelinier er lige efter bogen så vil jeg søge efter fejlen ved at udføre en linie ad gangen og studere meddelelserne. Tilføje en linie mere og prøve igen. det kan give en idé om fejlen. !
Hvis dine kodelinier ikke er efter bogen - så undre jeg mig over at du skal "logge" ind to gange og "disconnecte" to gange. (Og havd bruge de to første lineri til. Timer. ?)
Set objSocket = Server.CreateObject("Socket.TCP") objSocket.Host = "127.0.0.1:21"
Du har nok ret i at objSocket.WaitForDisconnect ikke skulle være der, den gør bare så der kommer timeout og så går der 10 sekunder eller hvor meget man nu har sat timeouttiden til, man er nødt til at lade den vente til den har modtaget det der er i bufferen, det kan man gøre med objSocket.waitfor("complete") men den vil statidvæk ikke liste mapper og filer, men hjælpen vil den gerne komme med. Du kan se min nuværende kode i bunden og her er det nuværende resultatet:
215 UNIX Type: L8 257 "/c:/test1" is current directory. 214- The following commands are recognized (* => unimplemented). USER PORT RETR ALLO DELE SITE XMKD CDUP PASS PASV STOR REST CWD STAT RMD XCUP ACCT TYPE APPE RNFR XCWD HELP XRMD STOU REIN STRU SMNT RNTO LIST NOOP PWD SIZE QUIT MODE SYST ABOR NLST MKD XPWD MDTM 214 Serv-U version 2.5.5.2, registered to: ED!SON '96 200 Type set to A. 150 Opening ASCII mode data connection for /bin/ls. 226 Transfer complete.
<% Set objSocket = Server.CreateObject("Socket.TCP") objSocket.Host = "127.0.0.1:21"
Undskyld at jeg lige blander mig. Men jeg bli'r glad når jeg ser er svar som dette :-)
coltau >> jeg har jo ikke kunnet undgå at bemærke, hvordan du nærmest har taget Eksperten, eller i det mindste ASP kategorien, med storm i den måneds tid du har været her.
Du er efter min målestok, indbegrebet af den ånd som Eksperten er skabt i og et svar som ovenstående illustrerer det perfekt. Det er tydligt at din intention er at hjælpe, selv om du ved at du er "på tynd is".
Alt for mange mennesker herinde jagter udelukkende point og spammer spørgsmålene med totalt unødvendige kommentarer (håber ikke at denne kommentar bliver opfattet som sådan).
Kunne jeg anbefale dig som månedens bruger, gjorde jeg det. Keep up the good work :-)
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.