Bei
Indy bleibt glaube ich wohl nur
- zyklisches Lesen mit gesetztem ReadTimeout
- eigenen Thread bauen der blockierend wartet und wenn da dann Daten liefert
- im HauptThread warten
Deshalb nehme ich lieber IPWorks (als Delphi-Edition in Delphi dabei). Da hat der Client ein Ereignis OnDataIn und liefert dabei Strings und Bytes.