Einzelnen Beitrag anzeigen

Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#1

Anzahl der zu erwartenden Bytes passt nicht (Indy 10 - TCP)

  Alt 13. Aug 2007, 14:01
Hallo zusammen,
ich habe folgendes Problem:

Meiner Server schickt mir ein Array of Byte vom Typ TBytes:

Delphi-Quellcode:
SetLength(TCPSendMsg, 786433);

for i := 0 to 786432 do
begin
  TCPSendMsg[i] := 0;
end;

TCPSendMsg[0] := 1; //Erfolgreich quittieren

TCPSendMsg[26] := clRed;
TCPSendMsg[36] := clRed;
TCPSendMsg[44] := clRed;
TCPSendMsg[45] := clRed;
TCPSendMsg[46] := clRed;
TCPSendMsg[47] := clRed;
TCPSendMsg[48] := clRed;
TCPSendMsg[56] := clRed;
TCPSendMsg[66] := clRed;

AContext.Connection.IOHandler.Write(TCPSendMsg);
Mein Client empfängt dieses Array of Byte:

Delphi-Quellcode:
TCPClient.IOHandler.ReadBytes(TCPInArray, 786433);
                                                      
if TCPInArray[0] = 0 then
begin
  //Mache irgendwas
end;
Ich kann ja in der Funktion ReadBytes angeben, wie viele Bytes er erwartet. Dort steht eindeutig 786433.
Wenn er jetzt aber das Array tatsächlich empfängt, dann hat dieses Array nur 131071 Einträge. Mehr als die Hälfte ist nicht angekommen.
Weiß jemand warum?!
Ich will Bildinformationen in dem array verschicken und später eine BMP daraus erzeugen.
Ich hoffe ihr könnt mir helfen.
Danke
Alex
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat