Làm cách nào tôi có thể phát hiện thấy một ứng dụng khách đã ngắt kết nối khỏi máy chủ của tôi?
Tôi có mã sau trong AcceptCallBack
phương pháp của mình
static Socket handler = null;
public static void AcceptCallback(IAsyncResult ar)
{
//Accept incoming connection
Socket listener = (Socket)ar.AsyncState;
handler = listener.EndAccept(ar);
}
Tôi cần tìm cách phát hiện càng sớm càng tốt rằng máy khách đã ngắt kết nối khỏi handler
Socket.
Tôi đã thử:
handler.Available;
handler.Send(new byte[1], 0, SocketFlags.None);
handler.Receive(new byte[1], 0, SocketFlags.None);
Các phương pháp trên hoạt động khi bạn đang kết nối với máy chủ và muốn phát hiện khi máy chủ ngắt kết nối nhưng chúng không hoạt động khi bạn là máy chủ và muốn phát hiện ngắt kết nối máy khách.
Bất kỳ trợ giúp sẽ được đánh giá cao.