Wie kann ich feststellen, dass ein Client die Verbindung zu meinem Server getrennt hat?
Ich habe den folgenden Code in meiner AcceptCallBack
Methode
static Socket handler = null;
public static void AcceptCallback(IAsyncResult ar)
{
//Accept incoming connection
Socket listener = (Socket)ar.AsyncState;
handler = listener.EndAccept(ar);
}
Ich muss einen Weg finden, um so schnell wie möglich festzustellen, dass der Client die Verbindung zum handler
Socket getrennt hat.
Ich habe es versucht:
handler.Available;
handler.Send(new byte[1], 0, SocketFlags.None);
handler.Receive(new byte[1], 0, SocketFlags.None);
Die oben genannten Ansätze funktionieren, wenn Sie eine Verbindung zu einem Server herstellen und erkennen möchten, wenn die Verbindung zum Server getrennt wird. Sie funktionieren jedoch nicht, wenn Sie der Server sind und die Trennung des Clients erkennen möchten.
Jede Hilfe wird geschätzt.