Deutsch
Forum

Probleme mit passivem FTP-Upload

 

Christian
Zietz
Hallo,

folgender Beitrag steht auch schon im Forum auf xprofan.de. Sorry für das Crosspost aber ich würde schon gerne wissen, ob es für das beschriebene Problem ein Workaround gibt. Sonst muss ich das ganze wohl in Delphi implementieren.

--- Ursprünglicher Beitrag
ich habe Probleme mit dem Upload von Dateien über passives FTP (ist leider auf einem Rechner nötig, auf dem das Programm später laufen soll) mit XProfan 9.1.

Wenn ich @FTP(SetPassive,1) direkt vor dem @FTP(Upload,...) ausführe, wird überhaupt nicht in den passiven Modus geschaltet, setze ich es vor das @FTP(Connect,...) dann liefert @FTP(Upload,...) sofort Erfolg zurück, die Datei wird aber trotzdem nicht übertragen.

Lasse ich @FTP(SetPassive,1) weg, dann funktioniert alles, aber halt nicht hinter der Firewall, die passives FTP voraussetzt.

Ergänzung: Downloads funktioneren auch mit passivem FTP, das Problem betrifft offenbar nur Uploads.
--- Ende ursprünglicher Beitrag

Ist das Problem bekannt, mache ich nur was falsch oder ist das ein bisher unerkannter Bug? Kann man da was dagegen tun oder ist passiver FTP-Upload mit XProfan derzeit nicht möglich?

Christian
 
23.01.2006  
 



Rolands FTP-Funktionen laufen in einem eigenen Thread.

Daher kann es oft vorkommen das die FTP-Funktionen schon vor Beendigung einer Aufgabe den Erfolg melden.

Überprüfe mal einfach ob der Upload nicht vielleicht doch im Hintergrund stattfindet.

Nach ftp(upload

nutze folgende Schleife um festzustellen wann der Upload tatsächlich beendet ist:
KompilierenMarkierenSeparieren
settimer 1000

whilenot (FTP("ListDir","tmpdir.dat"))

    waitinput

wend

killtimer
FTP-ListDir gibt erst dann True zurück - wenn der Thread nicht mehr vom Upload blockiert ist.

Diesen Workaround hatte ich mir jedenfalls damals als funktionierend aufgeschrieben da positiv ertestet.
 
23.01.2006  
 




Christian
Zietz
Danke für die Antwort, aber leider klappt der passive Upload auch damit nicht. Irgendwie bleibt mein Programm in der von Dir geposteten Whilenot-Schleife hängen.
 
23.01.2006  
 



Aha - das ist ja zumindest kein schlechtes Zeichen.

D.h. das XProfan es schon versucht upzuloaden - aber der Vorgang irgendwo gestoppt wird.

Um was für eine Firewall handelt es sich?
Ist ein Proxy im Spiel?
Sitzt Du hinter einem Server welcher z.B. per ICS das Internet sponsert?
 
23.01.2006  
 




Christian
Zietz
Das Problem tritt auch auf, wenn ich direkt (d.h. ohne Firewall, Proxy oder NAT) mit dem Netz verbunden bin.
Im Übrigen möchte ich ein Problem mit der Internetverbindung ausschließen. Normalerweise sitze ich zwar hinter einem Router mit NAT aber der macht mit einem richtigen FTP-Prgramm weder bei aktivem noch bei passivem FTP Probleme. Und aktives FTP klappt mit XProfan ja auch. Das ist für den Router viel heikler als passives FTP. Nur soll das Programm halt später auf einem Rechner laufen, auf dem nur passives FTP möglich ist.

Ich habe jetzt mal den Netzwerkverkehr mit ethereal mitgeschnitten. Mein XProfan-Programm baut nach dem PASV-Befehl zwar eine ausgehende Verbindung zu der vom Server mitgeteilten Adresse auf, die hochzuladende Datei wird aber nicht übertragen, auch dann nicht, wenn ich statt Deiner Schleife ein simples und ausreichend langes Sleep einfüge. Da ist irgendwo in XProfan der Wurm drin.
 
23.01.2006  
 



Owei.

Hast Du Dich schon einmal mit der FTP-Api probiert?

Ich habe ein FTP-Unit begonnen - die ist aber noch nicht fertig.

Du könntest es dann mit dieser Probieren.
 
23.01.2006  
 




Christian
Zietz
Ich habe mittlerweile etwas experimentiert. Wenn ich Deinen Code wie folgt abändere, klappt alles. Das Programm hängt nirgendwo und sowohl passiver wie auch aktiver FTP-Upload funktionieren. Warum auch immer.
KompilierenMarkierenSeparieren
SetTimer 1000

While 1

    WaitInput
    case @FTP("ListDir","tmpdir.dat")=1 : Break

Wend

KillTimer
 
24.01.2006  
 



Hm Dein Source macht das selbe - bis auf das ftplistdir eine sekunde später als bei mir zum ersten Male abefragt wird. Ich schaue hier grad mal in meinen source - tatsächlich - ich gebe sorgar 1,5 Sekunden vor der Schleife Zeit.

Gut, dann funktioniert es also.
 
24.01.2006  
 



Hallo IF
Wenn Du das FTP-Unit fertig hast, würdest Du mir dann auch Bescheid sagen
Gruss
horst
 
27.01.2006  
 



Ich gebe hier bescheid - wie immer.
 
27.01.2006  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

6.090 Betrachtungen

Unbenanntvor 0 min.
Alibre30.04.2018
Michael Uckermann13.04.2014
Heiko Dix05.12.2013
Uwe Lang30.05.2013
Mehr...

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

iF (5x)
Christian Zietz (4x)
unbekannt (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie