Der WebSocket-Client ' s Zustand Nicht Verändert auf Netzwerk Verlust
Arbeiten mit einem WebSocket-server mithilfe von Microsoft.Web.WebSockets.WebSocketHandler wo ich bin halten die verbundenen clients in einem WebSocketCollection. Wenn der client die Netzwerkverbindung verliert, auf dem server die OnClose-und OnError-Methoden nicht aufgerufen werden. Zusätzlich, mit Blick auf die spezifischen Kunden in die Erhebung zeigt, dass seine WebSocket.Zustand ist noch wie beschrieben angeschlossen. Dies ist auf IIS8.
Kurz manuell sendet der client eine Nachricht und auf eine Antwort suchen, gibt es einen anderen Weg, um zu bestimmen, die der client hat, sank das Netzwerk? Gibt es einige IIS-Konfiguration, die ich bin fehlt? Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
War ich in der Lage mein problem zu lösen mit zwei Schritten. Zuerst lief ich die folgenden Befehle an der Eingabeaufforderung Bearbeiten der IIS-config.
Dann habe ich aktualisiert meine Web.config mit dem folgenden.
Ist dies TCP: wenn Sie nicht senden oder empfangen, wie kann man wissen, ob die Gegenstelle noch da oder Weg?
Wenn Sie töten die peer-Prozess oder starten Sie die Maschine, die das peer-OS-Netzwerkstack wird in der Regel aktiv in der Nähe des TCP, so dass Sie sofort erkennen, die verloren WebSocket-Erkennung auch. Aber wenn man einfach nur den Stecker ziehen, in der peer - (Strom oder Netzwerk) oder etwas anderes schwere geschieht, wird der TCP nicht aktiv geschlossen.
Im Rahmen des WebSocket, die Sie tun können, WebSocket-Ebene pings/pongs (weiß nicht, ob IIS unterstützt, dass .. WS ping/pong Heartbeat) oder Sie können die app-Ebene heartbeats, indem Sie kleine WS-Nachrichten.