ReceiveString() ist soviel ich weiss blocking bzw. hat standardmäßig ein unendliches Timeout.
Nur eine vermutung (habe mit
Indy-UDP noch nie gearbeitet): Kann es sein, dass bei einem Verbindungsabbruch während ReceiveString() ein Fehler auftritt ("connection reset" oder dergleichen) und noch Daten im Receive-Buffer hängen, so dass der Client nie weitergeht?
P.S.: Ich wollte mit meinem Beitrag nicht "klugscheissen" oder dir an den Karren pissen. Wenn dir das so vorkam, sorry, aber es hätte ja sein können, dass du nicht gewusst hast, dass bei UDP nicht unbedingt immer alle Daten ankommen...