Como lidar com o tempo limite no soquete Async?
Eu tenho um código que usa soquete assíncrono para enviar mensagem ao cliente e espera resposta dele. Se o cliente não respondeu em um interno especificado, considerará o tempo limite. Alguns dos artigos da Internet sugerem o uso do WaitOne, mas isso bloqueia o encadeamento e adia o objetivo de usar a conclusão de E /
Qual é a melhor maneira de lidar com o tempo limite no soquete assíncron
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