मेरे पास एक कोड है जो क्लाइंट को संदेश भेजने और उससे प्रतिक्रिया की अपेक्षा करने के लिए एसिंक सॉकेट का उपयोग कर रहा है। यदि ग्राहक ने निर्दिष्ट आंतरिक में जवाब नहीं दिया है तो यह टाइमआउट पर विचार करेगा। इंटरनेट में से कुछ लेख WaitOne का उपयोग करने का सुझाव देते हैं, लेकिन यह थ्रेड को अवरुद्ध करेगा और I/O पूर्णता का उपयोग करने के उद्देश्य को रोक देगा।Async सॉकेट में टाइमआउट कैसे संभालें?
एसिंक सॉकेट में टाइमआउट को संभालने का सबसे अच्छा तरीका क्या है?
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
मुझे एक समान उत्तर मिला। http://stackoverflow.com/questions/1231816/net-async-socket-timeout-check-thread-safety। विचार यह है कि जांच के लिए सभी मौजूदा कनेक्शन की देखभाल करने के लिए एक टाइमर होना टाइमआउट है। – kevin