Здравствуйте, SATANAblack, Вы писали:
SAT>Проанализировал, решил что даных уже не будет. Как продолжить работу?
Решать продолжать ли работу вам надо в другом потоке. В AsyncCallback вы анализируете время, вызываете EndRead, изменяете внутренее состояние. Вам надо после BeginRead зафиксировать момент времени и начать раз в 100мс, например, проверять пришёл ли ответ (это вы из AsyncCallback будете указывать), и если не пришёл то повторять запрос снова.