Websockets sind eine coole, innovative Technologie, die in HTML5 integriert ist. Grundsätzlich können Sie ein Websocket öffnen, um eine dauerhafte bidirektionale Kommunikation mit einem Webserver zu ermöglichen. Der Client (Benutzeroberfläche) kann spontan Nachrichten senden, und der Server kann auch Nachrichten senden.
Bei vorhandener Technologie (JavaScript) muss alles vom Client gestartet werden. Der Server kann nichts an den Client senden, was der Client nicht angefordert hat. Skripte müssen daher ständig aktualisiert werden und Daten erneut anfordern, die sich möglicherweise nicht geändert haben. Websockets arbeiten mehr auf " Push " -Basis und lassen neue Daten immer wieder auf die Pipe.
Leider erfordern die meisten (ohnehin alles, was ich finden kann) Websocket-Implementierungen eine bestimmte Serveranwendung, um zu funktionieren. Die Benutzer führen Apache auf den Ports 80 und 443 (http und https) und ein anderes System (normalerweise Node.js) auf einem anderen Port (dh 8000 oder 8080) aus, um Websocket-Anforderungen zu verarbeiten.
Das funktioniert natürlich, hat aber einige Nachteile.
Ich möchte ein Plugin erstellen, das von der Verwendung von Websockets in WordPress sehr profitiert. Wenn ein Benutzer jedoch einen zweiten Webserver installieren muss (normalerweise nicht für Benutzer mit Shared Hosting), funktioniert er nicht als Plugin.
Wie würden Sie für jeden von Ihnen, der Erfahrung hat, WordPress mit Websockets kompatibel machen? Würden Sie WordPress dazu bringen, die Kommunikation selbst zu verwalten, oder ein anderes Miniserver-Skript in das Plugin einbinden? Wenn Sie dies bereits getan haben, wie haben Sie es erreicht, ohne WordPress selbst zu beschädigen?
Mögliche Ressourcen?
21.09.11 Update
Angesichts der Tatsache, dass Apache (der am häufigsten installierte Server für die Ausführung von WP auf einem gemeinsam genutzten Host) Web-Sockets nicht nativ verarbeiten kann, frage ich mich, ob es eine Alternative gibt. Mehrere Plugins (z. B. JetPack) kommunizieren mit einem externen Dienst oder einer API, um Inhalte zu generieren.
Stats fordert Inhalte von Automattic an. Akismet sendet Daten von einem externen Server hin und her. Nach Ablauf der Frist werden Inhalte zum Zeitpunkt der Veröffentlichung eingereicht. Einige SEO-Tools leiten die Dinge über externe Systeme hin und her.
Wäre es also als Alternative zur Unterbringung des Websocket-Codes in einem WordPress-Plugin denkbar, einen Websocket-Dienst an einem zentralen Ort zu hosten und stattdessen ein WordPress-Frontend damit zu interagieren?