İstemciye mesaj göndermek ve ondan yanıt beklemek için async soketini kullanan bir kodum var. İstemci belirtilen bir dahili cevap vermediyse, zaman aşımını dikkate alacaktır. İnternetteki makalenin bir kısmı WaitOne'u kullanmasını önermektedir, ancak bu iş parçacığını engelleyecek ve G/Ç tamamlanmasını kullanma amacını ortadan kaldıracaktır.Async Socket'de zaman aşımı nasıl yapılır?
Zaman uyumsuzluğu için zaman uyumsuzluğu yerine getirmenin en iyi yolu nedir?
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
Benzer bir yanıt buldum. http://stackoverflow.com/questions/1231816/net-async-socket-timeout-check-thread-safety. Fikir, zaman aşımı olup olmadığını kontrol etmek için mevcut tüm bağlantılara bakmak için tek bir zamanlayıcıya sahip olmaktır. – kevin