Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#2

Re: EConvert Error Fehler bei Socketverbindung

  Alt 20. Apr 2006, 10:52
Einfache Antwort: Du brauchst ein Protokoll!

Wenn du mit SendText oder sonstwie Daten abschickst, dann können die noch kleineren Einzelteilen oder viel grösseren Stücken wieder ankommen. Der Socket überträgt nur die Daten, ihn kümmert es nicht, wo du einen Block teilst. Das bedeutet, wenn du 2x SendText('a'); aufrufst, dann wirst du auf der Gegenseite nicht 2x ReceiveText aufrufen müssen - ganz im Gegenteil. Es ist sogar recht wahrscheinlich, dass du mit einmaligen ReceiveText beide Inhalte auf einmal empfängst.

Und um nun zu unterscheiden wo ein Block aufhört und der nächste anfängt, müsstest du dir ein Protokoll ausdenken, was dir diese Teilung ermöglicht und auch die Möglichkeit bietet zu erkennen, ob du einen Block schon komplett empfangen hast, um ihn zu verarbeiten. Ein einfaches Protokoll wäre in diesem Falle schon einfach nur ein Zeichen, was du so nicht nutzt - z.B. das Leerzeichen in deinem Falle (wenn es nur Zahlen sind). Dann weisst du immer, dass zwischen 2 Leerzeichen ein Wert steht. Bzw. bis zum nächsten Leerzeichen, etc.

Aber da kannst du deine Fantasie am Protokoll auslassen...

heute haargenau 2 Jahre in der dp.net unterwegs...
  Mit Zitat antworten Zitat