SorgenkindMech: Websockets / PHP

Beitrag lesen

Meine Herren!

Moin ;)

Am schönsten wäre es, wenn du so eine Schnittstelle innerhalb deiner Webanwendung unterbringen könntest. Dazu müsstest du erstmal die Bausteine identifizieren, die wirklich mit der Änderung von Datensätzen zu tun haben. An diesen Stellen könntest du dann eine Ereignisbehandlung für andere Systeme anbieten. Dein WebSocket-Server würde sich zum Beispiel da einhaken.
Genug an abstrakten Erörterungen. Worauf basiert deine Webanwendung denn eigentlich? Irgend ein Framework, auf das deine Webanwendung aufsetzt? Welches Datenbanksystem nutzt du?

also das ganze ist eben in PHP / MySQL geschrieben.
Der Kalender ist quasi eine Wochenansicht, oben die Wochentage, nach unten weg dann Tabellarisch Personen.
Jede Person kann nun pro Tag verschiedene Einträge erhalten. Das können konkrete Termine, aber auch einfach nur Textbemerkungen sein

bisher ist es so:

es gibt ein allgemeines Protokoll, in dem die verschiedensten Aktivitäten geloggt werden (wer macht was)
bestimmte Ereignisse, wie das Setzen eines Termines, das löschen eines Termines, die Aktivierung eines Termines, etc werden dann in einer SQL-Abfrage gefiltert.

Aktuell fragt nun also der Clientbrowser alle paar Sekunden den Server mit Übergabe des letzten Nachfragezeitpunktes nach Änderungen

Server macht nun eine SQL-Abfrage: suche alle Ereignisse vom Typ (...) dessen Zeitstempel über dem übermittelten Zeitstempel liegt. Das Ergebnis wird nun an den Clienten übermittelt.

Sicher wäre es schon wesentlich besser, die periodische Abfrage nur zentral zu machen und dann an die Clients zu verteilen, aber noch besser wäre es ja, auf die periodische abfrage zu verzichten und eine Art Event zu Triggern, ich weiß nur nicht wie ;(

wenn nun mein CLI-Script aka Websocket-Server läuft und parallel dazu nun beispielsweise ein Termin gesetzt wird, dann mache ich ja einen eintrag in der termintabelle und einen eintrag in der ereignistabelle ... so ... jetz könnte ich ja noch ein Trigger ansprechen, nur wie könnte dieser Trigger eine info an das CLI-Script senden? oder verbinde ich mich mit dem Websocketserver?

Beispiel:
Websocket-Server läuft auf Port 8080
Clientbrowser verbindet sich und wartet auf Infos

anderer Clientbrowser setzt Termin
Server macht DB-Einträge, verbindet sich auf localhost:8080 und gibt info nun somit an den Websocket-Server

Websocket-Server hat info und verteilt diese nun an die Clients ...

hey das wäre doch eine lösung, ist diese auch praktikabel bzw. "schön"? ;)

LG