Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#13

Re: Packed Records und Zeichenketten

  Alt 9. Jan 2008, 16:39
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;
  Mit Zitat antworten Zitat