Einzelnen Beitrag anzeigen

Benutzerbild von Helmi
Helmi

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

Re: Problem mit Dateigröße per FileStream-Übertragung

  Alt 19. Apr 2005, 06:39
Hallo,

Zitat von marabu:
  • Wie groß ist die Abweichung?
  • Ist die Abweichung immer gleich?

Ich hab mir die Dateigröße mal anzeigen lassen: Interessant ist es, dass manchmal die Dateigröße "-1" - also eigentlich nicht vorhanden ist.


Zitat von marabu:
  • Welche Dateitypen sind betroffen?

Da ich nur Exe-Dateien schicke, kann ich nur von Exe-Dateien reden.

Zitat von marabu:
  • An welchen Stellen unterscheiden sich die gesendete und die empfangene Datei laut comp/filecomp/diff?

Was meinst du damit?

Zitat von yankee:
Das kann zum Beispiel am Dateisystem liegen. Jenachdem, ob du FAT oder NTFS benutzt könenn geringfügigige Unterschiede auftreten
Ich hab die Probleme auch von NTFS zu NTFS.
Von NFTS zu FAT32 hab ich die wenigsten Probleme.

Zitat von Muetze1:
s liegt einzig und alleine daran, zu erkennen, dass das OnClientRead() Ereignis mehrfach aufgerufen wird, bevor alles empfangen wurde. Es ist immer wieder das gleiche, das alle davon ausgehen, das ein OnClientRead immer auch gleich alle Daten bereit hält. Dem ist nicht so. Das OnClientRead wird immer ausgelöst, sobald er Daten empfangen hat - und wenn es nur ein Teil ist. Genauso wenig kann man davon ausgehen, das ReceiveText() die mit SendText() gesendeten Texte genauso gesplittet und als ganzen empfängt.
Bevor der Client aus dem Stream liest (klingt blöd - ich weiss), wird eine Variable auf "true" gesetzt, die ein mehrmaliges Starten der Auslesens verhindert. Erst wenn alles vorbei ist, wird diese Varialbe wieder auf "false" gesetzt.


Ich hab jetzt mal ein "Delay(1000)" beim Server reinprogrammiert, bevor dieser den Stream sendet - daraufhin hat sich das ganze deutlich verbessert und es funktioniert bei jedem mal. Ich weiss jetzt nicht ob das so ganz der Stein der Weisen ist.
Aber ich werd das jetzt mal etwas im Auge behalten.
mfg
Helmi

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