Einzelnen Beitrag anzeigen

mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Stringlist mit SendStream versenden

  Alt 11. Feb 2017, 00:38
Was nicht passt, wird passend gemacht: um eine Datenstruktur über Sockets (Streams) zu senden und zu empfangen, wird sie in ihre Teile zerlegt und jeweils aus diesen Teilen wieder zusammengesetzt. Wenn Sender und Empfänger den Strukturaufbau genau kennen, braucht der Empfänger nur die eintreffenden Daten in der richtigen Reihenfolge einzulesen.

Sehr einfach geht das mit den Read- und Write Funktionen aus Indy, die im IdTCPClient.IOHandler zur Verfügung stehen. Dinge mit flexibler Länge wie Strings oder Byte Arrays senden dabei zuerst die Länge und dann den Inhalt. So weiss der IOHandler des Empfängers, wie viele Bytes er lesen muss.

Diese Zerlegung auf primitive Objekte, die einzeln übertragen werden, ist sehr low-level und oft ausreichend. Für flexiblere Strukturen sind XML oder JSON als Zwischenformat geeigneter, da Sender und Empfänger alles als einen einzigen String senden und empfangen. Lediglich ein XML oder JSON Parser wird dazu noch benötigt.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat