Wie gehe ich mit einer kaputten Pfeife (SIGPIPE) in Python um?

Ich habe einen einfachen Multithread-Game-Server in Python geschrieben, der für jede Client-Verbindung einen neuen Thread erstellt. Ich stelle fest, dass der Server von Zeit zu Zeit aufgrund eines Rohrbruch- / SIGPIPE-Fehlers abstürzt. Ich bin mir ziemlich sicher, dass es passiert, wenn das Programm versucht, eine Antwort an einen Client zu senden, der nicht mehr vorhanden ist.

Was ist ein guter Weg, um damit umzugehen? Meine bevorzugte Auflösung würde einfach die serverseitige Verbindung zum Client schließen und fortfahren, anstatt das gesamte Programm zu beenden.

PS:Diese Frage / Antwort befasst sich mit dem Problem auf generische Weise; wie konkret soll ich das lösen?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage