Comment gérer les temps d'attente en Async Socket?

J'ai un code que l'utilisation de socket asynchrone à envoyer un message au client et d'attendre la réponse d'elle. Si le client n'a pas répondu dans un certain interne il considère délai d'attente. Certains de l'article dans Internet suggèrent d'utiliser WaitOne, mais cela bloque le thread et reporte le but de l'utilisation d'e/S achèvement.

Quel est le meilleur moyen de gérer les temps d'attente en async socket?

 Sub OnSend(ByVal ar As IAsyncResult)
       Dim socket As Socket = CType(ar.AsyncState ,Socket)
       socket.EndSend(ar)

       socket.BeginReceive(Me.ReceiveBuffer, 0, Me.ReceiveBuffer.Length, SocketFlags.None, New AsyncCallback(AddressOf OnReceive), socket)

 End Sub
InformationsquelleAutor kevin | 2011-05-12