Einzelnen Beitrag anzeigen

Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#6

AW: Es kommen zu wenig bytes an

  Alt 23. Sep 2010, 23:15
Denn bevor ich die Daten los schicke, kriegt der Server die Datei Größe und die ist richtig in der Variable "Size" gesetzt.
Ich empfange so lange Daten bis "recvsize" größer oder gleich "Size" ist.
Ne eben nicht. RecvSize gibt dir nur die Größe des Buffers, in der sich die Daten die angekommen sind UND noch am ankommen sind ZU DEM Zeitpunkt, zu dem diese funktion aufgerufen wird, zurück.
Also zuvor die Größe der Datei - wie schon vorhin beschrieben - schicken und solange lesen, bis die Anzahl der empfangenen Bytes = 4(Größe der Datei->Filesize) + FileSize ist
(^Bei Client & Server)

Edit: Ok, habs mir mal etwas angesehen -> derselbige Fehler kann auch dann auftreten, wenn "OK" empfangen wird.
Dh. Es kann wie gewollt folgendes ankommen -> "OK" - "OK" - "OK" ODER EBEN AUCH
zb. soetwas wie das hier "OK" "O" "K" "OKO" "K" ... (oder noch längere Zeichenketten..)

MfG
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG

Geändert von Aphton (23. Sep 2010 um 23:21 Uhr)
  Mit Zitat antworten Zitat