Einzelnen Beitrag anzeigen

Dejan Vu
(Gast)

n/a Beiträge
 
#5

AW: TServerSocket und TClientSocket String-Länge

  Alt 7. Jan 2015, 12:07
Und auch da musst Du dich ums zusammensammeln selbst kümmern. Und auch bei den Indies musst Du das tun. Sie bieten dir imho nur die Möglichkeit, einen durch CR/LF terminierten String zu schicken und zu empfangen. DAS ist dann blockierend, weil die 'ReadLn' - Methode eben wartet, bis das CR/LF eingetrudelt ist.

Bei anderen Protokollen (Frame, Length encoding. Checksum etc.) muss man alles selbst machen. Die Routine zum Empfangen sieht im Prinzip so aus

Delphi-Quellcode:
Procedure TMyThing.OnReceive (Sender : TObject; Data: TBuffer; BytesReceived : Integer);
Begin
  myBuffer.Append (Data, BytesReceived);
  While myBuffer.ContainsFullMessage do
    ProcessMessage(myBuffer.ExtractMessage);

End;
  Mit Zitat antworten Zitat