FTP Problem
Übersicht

![]() |
Rotes_EichhörnchenBetreff: FTP Problem |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bitte meinen vorherigen Post löschen! danke!
also... ich bin jetzt schon etwas weiter: Code: [AUSKLAPPEN] ;is jetzt nur ein kleines Beispiel. ;kann nur eine bestimmte Datei runterladen, für mehr brauchte ich ;das damals, als ich es gemacht habe, nicht ;) ;aber is ja leicht auszubauen... Graphics 640,480,0,2 SetBuffer BackBuffer() Global port, ip$,tcp,daten Dim pos(6) time = MilliSecs() tcp = OpenTCPStream ("squirrelfrank.sq.funpic.de",21);ftp server nachricht$ = ReadLine(tcp) Print nachricht ;Anmeldung WriteLine tcp,"USER "+"squirrelfrank" ;ftp loginname nachricht$ = ReadLine(tcp) Print nachricht WriteLine tcp,"PASS "+"######" ;ftp passwort nachricht$ = ReadLine(tcp) Print nachricht WriteLine tcp,"TYPE I" ;binär Modus! nachricht$ = ReadLine(tcp) Print nachricht WriteLine tcp, "PASV" ;passiver Transfermodus nachricht$ = ReadLine(tcp) IP_PORT(nachricht$) ;2. ip aus nachricht holen daten = OpenTCPStream (ip$,port) ; Die Input/Output-Schleife Repeat ; lles was der Server einem schickt auslesen und printen. nachricht$ = ReadLine$(tcp) Print nachricht$ ; Kommandos eingeben lassen und selbige an den Server schicken. i$ = Input(">") WriteLine tcp, i$ ; Solange wiederholen bis man 'ende' eingibt. Until i$ = "ende" End ; Solange wiederholen bis man 'ende' eingibt. CloseTCPStream daten WaitKey End ;empfangene Ip für den Download umwandeln. Function IP_PORT(nachricht$) ip$ ="" port = 0 punkt$ ="." pos(0) = (Instr(nachricht$,"(")+1) For i = 1 To 4 pos(i) = Instr(nachricht$,",",pos(i-1)+1) If i > 1 Then t = 1 stelle$ = Mid(nachricht,pos(i-1)+t,pos(i)-pos(i-1)-t) If i = 4 Then punkt$ ="" ip$ = ip$ + stelle$ + punkt$ Next pos(5) = Instr(nachricht$,",",pos(4)+1) zahl1 = Mid(nachricht,(pos(4)+1),pos(5)-(pos(4)+1)) pos(6) = Instr(nachricht$,")",pos(5)+1) zahl2 = Mid(nachricht,(pos(5)+1),pos(6)-(pos(5)+1)) port = zahl1*256 + zahl2 Print "IP: " + ip$ Print "PORT: " +port End Function nur mein problem, sobald ich den stream daten öffne, kann ich mit dem server nicht mehr kommunizieren. Ich bekomme zwar vor die eingabe das ">", also befinde ich mich in der Repeat-schleife, aber wenn ich z.b. "list" eingebe, bekomme ich nur wieder ein ">" ausgegeben, und nicht sowas wie opening asci-imode, oder so. wo ist der fehler? |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich versteh nichtmal warum du eine zusätzliche Verbindung aufbauen willst. Beim FT Protokoll geht alles über eine Verbindung, welche stehts erhalten bleibt (von inakti-Timeouts abgesehen). Auch wenn du ne Datei runterladen willst (via FTP) geht das über die Verbindung.
Also erklär doch erstmal was du vor hast?! Grüße D2006 |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
Rotes_Eichhörnchen |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich will einfach dateien hoch, und runterladen...
dazu brauch ich nunmal eine 2. verbindung... iss so, anders gehts nicht es geht nur so... |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also ein FTP Programm habe ich noch nicht gemacht, aber diese These halte ich für Schwachsinn. Das FT Protokoll ist doch dafür ausgelegt innerhalb einer Verbindung mehrere Dateien hin und herzuschieben, und es gibt KEINEN logischen Grund dafür mehrere Verbindungen zu benutzen. Passt prima durch eine. ![]() MfG D2006 |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
Rotes_Eichhörnchen |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich hab aber bis jetzt nur FTp clients gesehen , die so funktionieren, und auch in BB gibt es nur welche, die so funzten, und in allen internet beschreibungen steht das so, ...
mehr kann ich auch nicht sagen |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() Schonmal geprüft, ob der Stream noch offen ist? (via ql:EOF) |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
Rotes_Eichhörnchen |
![]() Antworten mit Zitat ![]() |
---|---|---|
ichhab das hach Repeat eingefügt, aber die meldung erscheint nicht...
If Eof(daten) Then Print "Die Verbindung ist zusammengebrochen" also sollte es offen sein |
||
![]() |
Rotes_Eichhörnchen |
![]() Antworten mit Zitat ![]() |
---|---|---|
der stream schließt sich...wie kann ich das ändern? | ||
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
jeden schleifendurchgang einmal neu verbinden...
es gibt einen guten ftp code...der funktioniert im codearchiev |
||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
![]() |
KabelbinderSieger des WM-Contest 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
@D2006: Ich verstehe von Protokollen sicher nicht so viel, wie du. Aber ich habe schon ein paar Programme geschrieben, die via FTP Datein Hoch und runterladen. Und dabei hab ich immer vor jedem hoch- und runterladen den Daten-stream geschlossen und neu geöffnet. Anders ging es nicht, Glaub es mir einfach ![]() @Rotes_Eichhörnchen: Ich glaube, es liegt am Passiven Transfermodus ("PASV") Mir ist aufgefallen, dass man auch den Befehl "DELE" nicht mehr verwenden kann, nachdem man "PASV" benutzt hat. Irgendwie kann man das sicher zurückstellen... |
||
<Wing Avenger Download> ◊◊◊ <Macrophage Download> |
![]() |
Mathias-Kwiatkowski |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi, also ich habe dir es mal etwas einfacher gemacht, ich habe dir extra eine DLL Programmiert, mit dieser DLL kannst du
Files Hochladen Files Downloaden Ordner Erstellen Ordner löschen Files Löschen Wenn du weiter Funktionen brauchen solltest sage bescheid, helfe gerne, aber bitte beachte eines, diese DLL wurde persönlich von mir programmiert, und ich würde es gerne sehen das wenn einer diese DLL in seinem Programm benutzt das ganz am anfang vom Code PCInfo() befehl ausgefürt wird, damit ich etwas werbung habe ![]() ![]() Befor du diese File Downloadest sage ich dir was in dieser Zip enthalten ist Hile ( einmal in einer TXT / einaml in HTML ) DLL und die DECLS die DLL und die DECLS müssen im verzeichniss vom jeweiligen bb Ordner im Userlib rein , dann gehts ![]() viel spass noch http://purechannel.ath.cx/PureChannel-FTP.ZIP würde mich freuen wenn ich zu diser dll rückantwort bekommen würde, MFG Admin PureChannel - Mathias Kwiatkowski |
||
![]() |
Hip Teen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: @Rotes_Eichhörnchen: Ich glaube, es liegt am Passiven Transfermodus ("PASV") Mir ist aufgefallen, dass man auch den Befehl "DELE" nicht mehr verwenden kann, nachdem man "PASV" benutzt hat. Irgendwie kann man das sicher zurückstellen...
Wenn ich mich recht erinnere akzeptiert ein Server nach dem PASV Befehl nur Befehle, die zum Datenaustausch verwendet werden, sowas wie RETR oder LIST. Damit könnte das Problem auch in gewisser Weise zusammenhängen. Vielleicht sollten aber auch einfach die Daten mal ausgelesen werden, die auf dem Datenstream geschickt werden, ob da Daten angekommen könnte auskunft darüber geben, was der Server gerade macht. (ich hoffe ich pushe keinen all zu alten Thread) |
||
Spruch der Woche: "Ahh, ein neues Gesicht?!" - "Nein, das hab ich schon länger" |
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ Mathias-Kwiatkowski : mein Foxy sacht "Seiten-LadeFehler" - ich würde mir die DLL gern mla anschaun, wenn ich das darf ![]() |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group