سلام
خب چرا که نه.
احتمالا متد BeginReceiveFrom که من استفاده می کنم را می شناسید. این متد بعد از فراخوانی منتظر می مونه تا یک داده دریافت شده و Callback خودش را صدا بزنه و یک کاری انجام بشه.
خب حالا اومد و به هر دلیلی داده دریافت نشد و کاری که قرار بود انجام بشه انجام نمیشه و برنامه در این قسمت می مونه.
خب می خوام که یک کاری بکنم که اگر داده ای دریافت نشد بعد از چند ثانیه Callback صدا زده بشه و یا متد دیگری شبیه Callback.
خب گفتم که یک تایمر می گذارم ولی اگر بدونید ورودی متد Callback از نوع IAsyncResault می باشد ولی در تایمر نه. بعد مشکل اینکه باید در CallBack تایمر EndReceiveFrom کنم و به IAsyncResaul نیاز دارم.

فکر کنم کامل گفتم.