Tom: Websocket grunsätzlich - Variante mit PHP + Variante mit ZF2

Beitrag lesen

Hello,

Im Script (server.php und auch clientseite) wird noch notiert: "ws://localhost:9000/daemon.php".

Eben nicht!
Im Client muss schon die Domain oder IP des WS-Servers genannt werden und nicht "localhost".

Zwei Fragen, vor dem Experimentieren habe ich noch:

  1. Wie stoppe ich das Script, dass ich ja über die Konsole aufrufen muss (da gibts dann wohl auch keine MaxExecutionTime)? Sicherlich kann ich über ps ax mir alle Prozesse aurufen und mit killall <Prozessnummer> dann den Prozess wieder killen, aber fragt sich, ob das der beste Weg ist. Unter Windows7 funzt die Konsole ja auch u.U. garnicht so ...; gut, da gäbe es den Taskmanager.

Bei Linux mit KILL. Da kannst Du den Prozess auch in den Hintergrund stellen mit

./server.php &

Du solltest Dir also die PID merken oder besser noch, in einem PID-File speichern.

Unter Windows erstmal mit CTRL-C. Da der Server ja (Fehler-)Ausgaben über die Standardausgabe erzeugt, lauscht er auch auf das Break-Flag. Das CMD-Fenster ist daher auch solange für den Server reserviert, wie er läuft.

  1. Dieser Websocket-Server ist dann für alle Clientanfragen zuständig. Die Frage ist bestimmt blöde, aber ich denke mal, dass das ja Sinn des Servers ist, alle Anfragen zu steuern. Ab welcher Fülle von Anfragen verschluckt sich dann aber das Ding?

Das ist erstmal nur eine Rumpfidee.
Der bedient alle Anfragen, die auf diesem Port eintrudeln. Da Du ja wahrscheinlich mehrere VirtHosts auf deinem Server hast, würde er also quer über die HTTP-Virt-Hosts die TCP-Anfragen (Websocket) auf dem Port bedienen. Das wäre natürlich unpraktisch.

Ansonsten finde ich noch eine Variante, die auf dem ZendFramework basiert als Modul: http://modules.zendframework.com/stanislav-web/ZF2-PHP-WebSocket-Server. Hier starte ich den Server mit "php -q index.php websocket open" was nahelegt, dass ich mit dem Paramter "close" das Ding wieder schließen könnte. Allein die index.php muss ich mir selber basteln, umd das Modul zu integrieren. Da habe ich den Autor angemailt und die Antwort erhalten: "Hello, Robert!

Das muss ich mir auch noch mal ansehen.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
Die ultimative Seite für Selbermacher