PHP-senden Nachricht an Knoten / - Buchse.IO-server
Bin ich mir auch nicht sicher, ob ich dabei bin, über dieses in der richtigen Weise. Ich möchte mit meinem stick Buchse.IO-server, und nicht wollen, erstellen Sie eine separate HTTP-server im Knoten. Mit diesem kann ich eine PHP-client, kann Daten senden (z.B.: Spieler kauft Artikel aus online-shop), um die Knoten-Buchse.IO-server direkt?
Habe ich angefangen mit diesem:
<?php
class communicator {
public function connect($address, $port){
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if($socket){
try {
socket_connect($socket, $address, $port);
} catch(Exception $e){
throw new Exception($e->getMessage());
}
}else{
throw new Exception('Could not create socket.');
}
}
?>
Den sockel scheint die Verbindung einfach gut zu den Knoten server, aber wie kann ich beginnen empfangen von Daten direkt aus dem PHP-client?
E. g.: Sagen ich benutze socket_write
zum senden einer Nachricht an den server. Wie Schaffe ich es, dass über Socket.IO?
Hoffe meine Frage macht Sinn!
Du musst angemeldet sein, um einen Kommentar abzugeben.
im mit http://elephant.io/ für die Kommunikation zwischen php und socket.io, ich habe nur Probleme mit der Zeit zu stärket-Anschluss, 3 oder 4 Sekunden, um vollständige Daten zu senden.
Mit der neuesten version von
ElephantIO
habe ich es geschafft, eine Nachricht zu senden mit:Ich suchte für diese schon ein bisschen, und schließlich eine relativ einfache Lösung gefunden.
Dieser benötigt keine zusätzliche PHP-Bibliotheken - es werden sockets.
Anstatt zu versuchen, die Verbindung zum websocket-Schnittstelle, wie so viele andere Lösungen, nur die Verbindung zum node.js server, und verwenden Sie
.on('data')
um die Nachricht zu empfangen.Dann
socket.io
können ihn weiter an die Kunden.Erkennen, dass eine Verbindung von Ihren PHP-server in Node.js wie diese:
Hier ist das unglaublich einfache php - code- wickelte ich es in eine Funktion - Sie können kommen mit etwas besser.
Beachten Sie, dass
8080
ist der port, an meine Node.js server - die Sie möglicherweise ändern möchten.Können Sie es verwenden, wie diese:
sio_message("chat message","Hello from PHP!");
Können Sie auch senden arrays, die konvertiert werden, json und weitergegeben an die Kunden.
sio_message("DataUpdate",Array("Data1" => "something", "Data2" => "something else"));
Dies ist eine nützliche Methode, um "Vertrauen", dass Ihre Kunden immer sind legitime Nachrichten, die vom server.
Können Sie auch die PHP-pass sowie Datenbank-updates, ohne Hunderte von clients die Datenbank Abfragen.
Ich wünschte, ich hätte dies früher - hoffe, das hilft! ?
Diese Frage wurde früher gelöscht, weil ich geschrieben auf ein paar anderen threads um die Sichtbarkeit zu erhöhen, in einer Anstrengung, Menschen zu helfen, eine Lösung zu finden, wie diese - ich hoffe, das wird nicht wieder gelöscht. Diese Antwort gilt für mehrere Fragen - vielen Dank.
ElephantIO noch nicht aktualisiert auf die neuesten Sockel.IO.
Weil-Buchse.io-v0.9 und v1.x ist sehr unterschiedlich.
Buchse.io v1.0 hier : http://socket.io/blog/introducing-socket-io-1-0/
Aktualisiert : Dieser link kann helfen : https://github.com/psinetron/PHP_SocketIO_Client