Dateiübertragung dauert bei großen Dateien sehr lange...



  • Hallo Leute!
    Bei großen Dateien dauert meine Dateiübertragung sehr lange.
    Client:
    Ich habe einen TMemoryStream und einen TFileStream. Der Inhalt des TMemoryStream wird über den TFileStream geladen. Anschließend werden die ersten vier Byte des MemoryStreams an den Schluss des MemoryStreams gehängt. In die ersten vier freien Byte wird dann die Dateigröße als Integer geschrieben.

    Server:
    Auch hier habe ich einen MemoryStream und einen TFileStream. Die ankommenden Daten werden in den Memory Stream geladen. Zuerst werden aber die ersten vier Byte ausgelesen, da dort ja die Dateigröße des Files steht. Wenn

    if (mem->Size == (dateigr + 4))
    

    erfüllt ist werden die vier Byte, die beime Client an das Ende geschrieben wurden, wieder an den Anfang des TMemoryStreams geschrieben und der FileStream wird mittels

    datei->CopyFrom (mem,mem->Size);
    

    geschrieben.

    Aber warum dauert bei großen Dateien die Übertragung so lange (bei ca. 42 MB Dateien)??


Anmelden zum Antworten