> -- Rifat писал(а):
> вместо простого циклического подхода используется рекурсивный подходНет, по моему, получается как раз цикл, нигде нет рекурсивного вызова, посмотрите внимательнее, Services.DoLater это не вызов, это добавление в очередь.

Я не знаю структуры вашего приложения, но разумный аналог Wait - это переназначение действия до того момента, как выполнится какое-либо условие(то, что у вас в первом примере).

с CommTCPAsync я как-то работал, у него какие-то проблемы с Vista были, поэтому отказался. По-моему вам стоит поработать с CommTCP, и возможно с буферами от А. Ильина. Хотя бы в режиме демки, так станет понятнее, как работать с сетью.

Я когда осваивал, наклепал себе демку, может вам пригодится:
В модуле ObxStreamsServer надо запустить коммандер Start, после этого в модуле ObxStreamsClient надо запустить коммандер Send -- получится пересылка файла. Поможет понять принцип.