Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Wann ist File vollstaendig hochgeladen?

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - C
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
sentor



Anmeldungsdatum: 06.05.2004
Beiträge: 8

BeitragVerfasst am: 06. Mai 2004 12:52   Titel: Wann ist File vollstaendig hochgeladen?

Um mein Problem zu schildern, muss ich erst ein bisschen ausholen. Also... Ich habe ein Programm geschrieben, das auf die Erstellung von Files in bestimmten Verzeichnissen triggert, d.h. wenn in diesem Verzeichnis neue Dateien entstehen, werden eine odere mehrere Aktionen ausgefuehrt. Nun ist es so, dass dieses Verzeichnis gleichzeitig ein freies FTP-Verzeichnis ist und ich mit diesem ueber FTP hochgeladenen Dateien etwas machen will. Ich kann aber erst etwas mit diesen Dateien machen, wenn ich weiss, wann sie vollstaendig hochgeladen sind. Genau das ist mein Problem. Wie kann ich in C rausbekommen, ob eine Datei vollstaendig hochgeladen ist oder nicht. Gibt es etwas, nachdem ich in der Datei suchen kann, dass mir sagt, Datei ist vollstaendig ? Ist EOF geeignet? Derzeit mache ich es so, dass ich nach einen gewissen Zeitraum noch mal schaue, ob die Datei waechst (Aenderung der Dateigroesse), wenn ja, dann Upload noch nicht fertig. Allerdings erzeugt dieser Zeitraum bei kleinen dateien zuviel Overhead.

Waere nett, wenn sich Loesungsalternativen finden wuerden.
 
Benutzer-Profile anzeigen Private Nachricht senden

Lateralus
prolinux-forum-admin


Anmeldungsdatum: 05.05.2004
Beiträge: 1238

BeitragVerfasst am: 06. Mai 2004 15:55   Titel:

Ich glaube, dass mit EOF läuft nicht. Ich denke, dass steht immer da und wird nur weitergeschoben, wie sollte sonst überhaupt die Größe der Datei bestimmt werden? Hab aber auch keine Idee für dich...
 
Benutzer-Profile anzeigen Private Nachricht senden

hjb
Pro-Linux


Anmeldungsdatum: 15.08.1999
Beiträge: 3236
Wohnort: Bruchsal

BeitragVerfasst am: 07. Mai 2004 11:15   Titel:

Hi!

Solange die Datei hochgeladen wird, muß der FTP-Server sie noch offen haben. Du könntest also nach einem Dateideskriptor suchen, der auf die Datei verweist. Das wäre z.B. über die Process ID des FTP-Servers und das Verzeichnis /proc/*/fd möglich (oder lsof). Ist sicher recht umständlich. Einfacher wäre es, wenn der Server einen Lock auf die Datei setzen würde, während er hochlädt. Du müßtest dann selbst versuchen, den Lock zu bekommen, und wenn das gelingt, ist der Server fertig. Ob das geht, läßt sich aber wohl nur über den Quellcode des Servers in Erfahrung bringen. Wenn du den hast, kannst du auch gleich den Code zum Erzeugen des Locks einbauen Wink

Gruß,
hjb
_________________
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger

Gast






BeitragVerfasst am: 27. Mai 2004 8:46   Titel:

Hi,

viele ftp server bieten programme wie ftpwho oder ftptop an bzw zeigen den status der aktuellen status in einer log datei an. Vielleicht würde es sinn machen mit diesen log datein zu arbeiten ?! ... Die Dateigröße zu überwachen oder den Lösungsvorschlag über Deskriptoren halte ich für nicht sinvoll wenn der ftp server "resume" unsterstützen soll.
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - C Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy