Hallo,
ich überlege mir gerade, wie man ein Client/Server über Sockets "ausfallsicher" macht. Ich meine: ein Client ist über lange Zeit mit dem Server verbunden. Teilweise könnte die Verbindung (z.B. Netzwerkverbindung hardwaretechnisch getrennt, Server neustart, etc.) abbrechen. Jetzt muss der Client ja merken, wann eine Verbindung abgebrochen ist. Das wird soweit ich weiss normalerweise über Signale oder Fehlermeldungen gemacht: Entweder der Client erhält beim senden ein SIGPIPE (schreiben auf geschlossene Verbindung), oder er erhält beim Lesen und errno (C Fehler). Ist das schon alles? Oder wäre es klug noch ein Timeout über alarm() zu erstellen: falls eine Sekunde nix passiert => Verbindungen erneut herstellen, ansonsten Fehlerbehebung aufrufen o.ä. Beim SIGPIPE noch ne Frage: wie finde ich heraus, welche Verbindung davon betroffen ist???
Grüsse,
Maxwell