What would the proper way to cancel TcpClient ReadAsync operation by timeout and catch this timeout event in .NET 4.5?
TcpClient.ReadTimeout seems to be applied to
You have to implement it by yourself: it is not available in that class.
you should use a timer that will kill the async operation after a timespan or use the Read sync version in a a backgroundthread.
there you can find an example: Implementing a timeout with NetworkStream.BeginRead and NetworkStream.EndRead