Hallo,
ich verstehe jetzt allerdings nicht ganz, wo Deine Frage ist.
Ich kann nur etwas "Manöverkritik" abgeben:
- Die Variable send sollte wohl besser als reveive bezeichnet werden
- Stringvergleiche sind schwierig, da du auf exakte Gleichheit prüfst. Besser wäre hier etwas wie z.B.
CompareText (vergleich ohne Groß/Kleinschreibung)
- ich würde da in den then / else - Bereich jeweils noch begin / end einfügen. Aber das ist geschmackssache

Gruß, Chris
[RoteBox]
Kurze Vermutung:
read_until('\n', 20.0) ist wohl lese bis ein '\n' kommt (#13) oder bis 20.0 Sekunden vorbei sind?
.strip dürfte sowas wie
myString := trim(<mystring>)
sein
[/RoteBox]