Och, bei der Lösung ist man aber auch wieder eingeschränkt. Warum nicht einfach ein kleines Protokoll definieren? Beispiel:
1. Integer (4 Bytes) Länge der folgenden Zeichenkette
2. Zeichenkette in der Länge wie zuvor angegeben.
Delphi-Quellcode:
procedure SendString(AText: string);
var
lLen: Integer;
begin
lLen := length(AText);
Socket.SendBuf(lLen, sizeof(lLen));
if lLen > 0 then
Socket.SendBuffer(AText[1], lLen);
end;
bzw. empfangen:
Delphi-Quellcode:
function ReceiveString: string;
var
lLen: Integer;
begin
Socket.ReceiveBuf(lLen, sizeof(lLen));
if lLen > 0 then
begin
SetLength(Result, lLen);
Socket.ReceiveBuf(result[1], lLen);
end;
end;