Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

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

AW: Problem mit IdTCPServer/Client und ReadBytes

  Alt 23. Jun 2014, 07:55
Deine Vorstellung du könntest direkt "Befehle" vom Client zum Server schicken ist falsch.
Der Client mag zwar eine zusammengehörige Bytefolge schicken; ob diese Bytes als zusammengehörende Folge beim Server so ankommen ist mehr als unsicher.
Als Programmierer muss man sich also selbst darum kümmern die Befehle zu trennen.
Dazu kann man z.B. ein Trennzeichen definieren damit man weiss wo der letzte Befehl aufhört und der Nächste beginnt.

Ob der Serverthread für eine gewisse Zeit blockiert ist spielt kaum eine Rolle, denn die Daten werden vom Betriebssystem gepuffert.
Sobald der Thread wieder Zeit hat kann er die in der zwischenzeit eingetroffenen Bytes bearbeiten.
Natürlich kann es dann sein dass schon 2 oder mehr Befehle (und der letzte vielleicht nur zur Hälfte) eingetroffen sind.
fork me on Github
  Mit Zitat antworten Zitat