PHP Websocket

Bubble10

Mitglied
Hi ich habe angefangen einen WebSocket Server in PHP zu schreiben, funktioniert alles Super, jetzt hab ich nur ein Problem.
Wenn durch irgendein Problem ein Fataler Fehler geworfen wird schmiert mir der komplette WS Server ab.
Gibts da irgendwie eine Möglichkeit das zu unterbinden oder das nur ein Teil sich beendet?
Irgendwelche Ideen?
 
Momentan ist es eine einfache ChatServer der dauerhaft durch läuft, auf Verbindungen wartet, entgegengenommene Daten an andere Clients weiterleitet. Wenn jetzt aber beispielsweise beim interpretieren von "/BEFEHL arg1 arg2 ..." irgendwas schief geht PHP nen FatalenFehler wirft, dann schmiert das Skipt ab und alle Verbindungen werden getrennt.
Als Option hab ich bisher mithilfe des Error Handlers das Skript wieder zu starten.
 
Hast du mal mit try und catch gearbeitet? Vielleicht vor dem Interpretieren von Befehlen diese auf Richtigkeit prüfen? Gibt sicherlich ein paar Möglichkeiten.
 
Und einfach vorher die Befehle prüfen? Ein Valider Befehl sollte ja keinen Fehler verursachen (können).
 
Ne aber dass muss ich ja dann wirklich überall in der applikation machen, das würde ne menge overhead bedeuten

Naja, das ist aber der Grund, warum man sauber programmiert. Spätestens dann, wenn mehrere Leute gleichzeitig eine Ressource verwenden braucht man Plausibilitätsprüfungen - und zwar bevor man die Benutzerdaten verwendet.

Faule Programmierer sind der Grund, warum Software einen so schlechten Ruf hat.
 
Zurück