Heim > Backend-Entwicklung > C++ > Wie kann ein Server Verbindungsabbrüche von Client-Sockets sofort erkennen?

Wie kann ein Server Verbindungsabbrüche von Client-Sockets sofort erkennen?

Linda Hamilton
Freigeben: 2025-01-23 22:05:12
Original
886 Leute haben es durchsucht

How Can a Server Instantly Detect Client Socket Disconnections?

Client-Trennung vom Server-Socket sofort erkennen

Problem:

Wie können wir bei der Funktion als Server umgehend feststellen? wenn ein Client die Verbindung zum verbundenen Socket trennt? Die gängigen Methoden zum Erkennen einer Client-Trennung beim Herstellen einer Verbindung zu einem Server sind in diesem Szenario wirkungslos.

Antwort:

Socket-Verbindungen stellen nativ keine Trennungsereignisse bereit. Daher müssen wir regelmäßig den Verbindungsstatus des Sockets überprüfen. Die folgende Erweiterungsmethode bietet eine zuverlässige Möglichkeit, zu erkennen, ob ein Socket getrennt wurde:

static class SocketExtensions
{
  public static bool IsConnected(this Socket socket)
  {
    try
    {
      return !(socket.Poll(1, SelectMode.SelectRead) && socket.Available == 0);
    }
    catch (SocketException) { return false; }
  }
}
Nach dem Login kopieren

Diese Methode fragt den Socket in einer benutzerdefinierten Häufigkeit ab, um die Konnektivität zu ermitteln. Wenn bei der Abfrage festgestellt wird, dass keine Bytes zum Lesen vom Socket verfügbar sind, gilt die Verbindung als getrennt.

Das obige ist der detaillierte Inhalt vonWie kann ein Server Verbindungsabbrüche von Client-Sockets sofort erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage