2010-11-18 21 views
0

Ich habe eine Client-Server-App und ich möchte wissen, wie kann ich herausfinden, ob mein Client lebt oder nicht? Ich dachte daran, ein Paket von meinem Client speziell dafür zu senden (sagen wir) 1 Minute und wenn mein Server keine Benachrichtigung über dieses Paket in 1 Minute erhält, schließt es diese Clientverbindung.wie kann man wissen, ob ein Client lebt oder nicht

Ich sah auch (sowohl Client als auch Server sind lokal für diesen Test), dass, wenn ein Client mit dem Server verbunden ist und ich diesen Prozess (über Task - Manager) meinen Server bricht für diese Verbindung (eigentlich ist es umgeben von einem versuchen Sie fangen, damit es die Verbindung danach schließt). Kann ich das benutzen ? Wie oft überprüft der Server den Stream, um festzustellen, ob der Client verbunden ist?

+0

Ich denke, dass Sie bessere Antworten erhalten werden, wenn Sie einige Details darüber teilen, wie der Client und der Server verbunden sind, und vielleicht auch, warum die Verbindung am Leben sein muss. –

+0

Hängt davon ab, wozu der Server es braucht. – khachik

+0

Ich sammle einige Daten auf dem Client von einem Mikrocontroller und sende sie an den Server. Die Verbindung wird mit TcpClient hergestellt. Der Server wartet darauf, dass der Client Daten sendet und anzeigt. Die maximale Anzahl der Clients ist 200 und das Betriebssystem ist x86 wahrscheinlich WinXP – Alex

Antwort

1

Ohne Kenntnis über die Architektur und die Anzahl der Clients Ihres Systems, wird es normalerweise nicht empfohlen, den Server aus verschiedenen Gründen (Firewall, Sicherheit, ...) zu kontaktieren. Dies wird normalerweise durch einen "Heartbeat" erreicht der Kunde.

+0

sowohl Client und Server wird auf Windows XP x86 wahrscheinlich XP laufen und die Anzahl der Clients ist maximal 200 .. – Alex

Verwandte Themen