Registriert seit: 13. Mär 2014
10 Beiträge
|
AW: Immer nur 3 bytes aus Empfangsdaten weiterreichen..
13. Mär 2014, 21:22
[QUOTE=Rul;1251917]
Da via UDP doch die Daten auch in anderen Reihenfolgen ankommen können, wenn überhaupt (wenn ich das richtig verstanden hab), dann kann man natürlich gern noch den Puffer au
fteilen, so daß er maximal so groß ist, wie der kleineste Frame, in der Übertragung, so daß diese Bytes immer zusammen bleiben.
Delphi-Quellcode:
procedure DataAvailable(const Data: string);
var
i: Integer;
begin
Buffer := Buffer + Data;
while Length(Buffer) > 2 do begin
i := Min(Length(Buffer) div 3, 85) * 3; // maximal 85 Pakete zusammen ... k.A. welche Größe Ideal wäre
UDPCLIENT.SEND(Copy(Buffer, 1, i));
// gibt es sowas wie ein UDPCLIENT.FLUSH?
Delete(Buffer, 1, i);
end;
end;
Hallo Himitsu,
Das ist supppper!!
Die Daten hängen jetzt nicht mehr -
..
LG
Rul
Geändert von Rul (14. Mär 2014 um 12:33 Uhr)
|
|
|