AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Problem mit Dateigröße per FileStream-Übertragung
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit Dateigröße per FileStream-Übertragung

Ein Thema von Helmi · begonnen am 15. Apr 2005 · letzter Beitrag vom 19. Apr 2005
 
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.344 Beiträge
 
Delphi XE2 Professional
 
#1

Problem mit Dateigröße per FileStream-Übertragung

  Alt 15. Apr 2005, 20:52
Hallo,

ich hab ein kleines Problem:
ich habe zwei Programme - eines mit ServerSocket (Server), das andere mit ClientSocket (Client)

Der Server sendet an den Client eine Datei.
Code Server:
Delphi-Quellcode:
      try
        //Datei senden
        Serversocket.Socket.Connections[ausgewaehlter_Client].SendStream(
        TFileStream.Create(Edit_Quelle_Datei.Text, fmOpenRead or fmShareDenyWrite));
      finally
        // leer
      end;
Code Client:
Delphi-Quellcode:
           //Zieldatei erzeugen
           ZielDatei := TFileStream.Create(SaveFile, fmCreate);

           //Variablen beschreiben
           ProgressBar_Update.Position := 0;
           pbReceived := fSize;

           //Datei empfangen und speichern
           while True do
            begin
              nReceived := Socket.ReceiveBuf(Buffer, sizeof(Buffer));
              If nReceived <= 0 then
                Break
              else
                ZielDatei.WriteBuffer(Buffer, nReceived);

              delay(300);

              pbReceived := pbReceived - nReceived;
              ProgressBar_Update.Position := 100 - ((pbReceived * 100) div fSize);

              Application.ProcessMessages;
            end;
          finally
            //Variablen leeren
            ZielDatei.Position := 0;
            Buffer := '';

            //ZielDatei freigeben und löschen
            FreeAndNil(ZielDatei);
Der Server übermittelt aber, bevor die Datei übertragen wird, die Größe der zu übertragenden Datei.

Nachdem der Client die Datei empfangen hat, prüft dieser ob 1. die Datei vorhanden ist und 2. ob die Größe der empfangenen Datei gleich der Größe ist, die zuvor übermittelt wurde.

Und da hab ich ein Problem. Es kann sein, dass die Größen nicht übereinstimmen.


Hat jemand ne Ahnung was es sein könnte, dass die Größen nicht übereinstimmen?
Kann es sein, dass es durch das Senden mit dem Stream zu Veränderung der Dateigröße kommen kann?
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz