Thema: Delphi Indy TCP Client/Server

Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#5

AW: Indy TCP Client/Server

  Alt 30. Mär 2012, 10:58
Dein Sender schickt immer 4 Byte Länge + Nutzdatenblock.
Der Empfänger muss folgende Strategie anwenden.
1.) empfangener Datenblock an den Empfangpuffer anfügen (anhängen)
Jede TCP/IP-Verbindung benötigt ihren eigenen Empfangspuffer
2.) Falls Länge Empfangspuffer < 4 nichts tun (Exit; )
3.) die ersten 4 Bytes aus Empfangspuffer als Längenfeld auslesen
4.) falls Länge Empfangspuffer < Längenfeld + 4 dann nichts tun (Exit; )
5.) Aus dem Empfangspuffer werden die 4 Bytes + der Nutzdatenblock ausgeschnitten
Der Nutzdatenblock wird über ein Event der weiteren Verarbeitung zugeführt
6.) Gehe zu 2.)

Nur so gelingt eine saubere Kommunikation!
  Mit Zitat antworten Zitat