Tach!
Ich schaue mir gerade an welche Möglichkeiten socket.io / node.js bietet. Da meinem Projekt bisher nur AJAX und serverseitig PHP nutzt, würde ich gerne wissen, ob dieses "guter Stil" ist. Also ob man eine Kombination aus beidem in der Form umsetzt oder ob das der falsche Weg ist?
Fakt ist, dass du für Websocket auf dem Server einen eigenen Dienst laufen haben musst. So simpel wie ein PHP-Script in den Apachen werfen ist es nicht. Gegebenenfalls muss man da auch noch einen Reverse Proxy einrichten, wenn man die Clients mit ihren Websocket-Verbindungen nicht auf einen anderen Port als 80 schicken will. Wenn du also schon daran scheiterst, einen Dienst aufsetzen zu dürfen, kannst du an der Stelle aufhören und dir andere Wege suchen, zum Beispiel Ajax-Polling.
Nun zum Projekt unter dem Link. Der schickt vom Client aus zwei Nachrichten. Eine an den socket.io, die an alle anderen angeschlossenen Clients verteilt wird, und noch eine zweite über Ajax an PHP, wo die Nachricht in die Datenhaltung eingefügt wird. Das ist nicht gerade das Gelbe vom Ei.
Man kann ja bestimmte Teilaufgaben auf bestimmte Systeme verteilen. Nur hat man dann unter Umständen grundlegenden Code doppelt, wie Datenbankzugriffe, oder man muss wie im Beispiel zwei Systeme mit dem Verarbeiten derselben Daten beauftragen. Ob das guter Stil ist, wage ich zu bezweifeln. Unpraktisch scheint mir das auf jeden Fall.
Weiterhin frage ich mich ob man den AJAX Request auch auf dem Node Server ausführen darf. Das aber eher am Rande überlegt.
Von wo aus du den Request abschickst, spielt grundsätzlich keine Rolle.
dedlfix.