PHP-Socket-IO
Dieses Tutorial zeigt, wie man socket.io
in PHP implementiert.
PHP-Socket-IO
Die Bibliothek socket.io
ermöglicht eine bidirektionale, latenzarme und ereignisbasierte Kommunikation zwischen Client und Server. Die offizielle socket.io
-API ist hier zu finden, die mit Node.js implementiert ist.
Die socket.io
ist nicht direkt in PHP implementiert, da sie nicht in PHP geschrieben ist. Wir können die APIs wie Elephant.io
in PHP verwenden, die für uns die socket.io
in PHP implementieren.
Das Elephant.io
ist ein grober, in PHP geschriebener WebSocket
-Client, der die Kommunikation zwischen Server und Client erleichtern kann. Das Elephant.io
benötigt mindestens PHP 5.4 und OpenSSL.
Das Elephant.io
ist unter der MIT-Lizenz lizenziert. Die eingebauten Engines für Elephant.io
- oder Socket.io
-Engines, die in Elephant.io
verwendet werden, sind:
- Socket.io 5.x
- Socket.io 4.x
- Socket.io 3.x
- Socket.io 2.x
- Socket.io 1.x
- Socket.io 0.x
So installieren Sie Elephant IO
Das elephant.io
wird auf GitHub bereitgestellt und kann mit dem Composer
installiert werden. Stellen Sie zunächst sicher, dass der Composer
in Ihrem PHP installiert ist und wenn dies nicht der Fall ist, installieren Sie zuerst den Composer
, folgen Sie den unten beschriebenen Schritten.
-
Gehen Sie zu diesem Link.
-
Klicken Sie auf die Option
Herunterladen
. -
Laden Sie die Datei
Composer-Setup.exe
herunter. -
Führen Sie die Datei
Composer-Setup.exe
aus. -
Für alle Benutzer installieren.
-
Wählen Sie den Pfad zur Datei
php.exe
aus. Weiter klicken. -
Wählen Sie den Proxy nicht aus und klicken Sie auf
Weiter
. -
Klicken Sie auf der nächsten Seite auf
Installieren
. -
Klicken Sie nach Abschluss der Installation auf
Weiter
und dann aufFertig stellen
.
Die obigen Schritte installieren den Composer
in unserem Windows-System, und Sie können ihn überprüfen, indem Sie den Befehl composer
in cmd ausführen.
Jetzt müssen wir die composer.phar
mit dem php
-Befehl ausführen, um die elephant.io
zu installieren und die Composer.phar
im aktuellen Verzeichnis zu installieren; verwenden Sie den folgenden Befehl.
php -r "readfile('https://getcomposer.org/installer');" | php
Die Ausgabe für diesen Befehl lautet:
C:\Users\Sheeraz>php -r "readfile('https://getcomposer.org/installer');" | php
All settings correct for using Composer
Downloading...
Composer (version 2.4.2) successfully installed to: C:\Apache24\htdocs\composer.phar
Use it: php composer.phar
C:\Apache24\htdocs>
Sobald Composer
und Composer.phar
installiert sind, installieren wir Elephant.io
. Führen Sie den folgenden Befehl aus.
php composer.phar require elephantio/elephant.io
Der obige Befehl installiert elephant.io
und wenn es den Versionsinkompatibilitätsfehler auslöst, verwenden Sie den folgenden Befehl, um es direkt vom composer
zu installieren.
composer require elephantio/elephant.io:*
Die Ausgabe für die Elephant IO-Installation lautet:
Sobald das Elephant IO-Paket installiert ist, können wir es verwenden, um mit dem Socket-Server zu kommunizieren. Hier ist ein Beispiel.
<?php
require( __DIR__ . '/elephantio/elephant.io/lib/ElephantIO/Client.php');
use ElephantIO\Client as ElephantIOClient;
$Elephant_Client = new ElephantIOClient('http://localhost:8000', 'socket.io', 1, false, true, true);
$Elephant_Client->init();
$Elephant_Client->emit('action', 'delftstack');
$Elephant_Client->close();
echo 'trying to send `delftstack` to the event named action';
?>
Bevor Sie diesen Code ausführen, müssen Sie möglicherweise den Server an Port 8000 starten. Führen Sie den folgenden Befehl in cmd aus.
php -S localhost:8000
Der obige Code kommuniziert mit dem Socket-Server, um die Daten delftstack
an das Ereignis namens action
zu senden. Die Ausgabe für den obigen Code ist:
trying to send `foo' to the event called action
Wenn die Kommunikation länger als 30 Sekunden dauert, gibt der Code einen schwerwiegenden Fehler wie den folgenden aus:
Fatal error: Maximum execution time of 30 seconds exceeded in C:\Apache24\htdocs\vendor\elephantio\elephant.io\lib\ElephantIO\Client.php on line 326
Das Elephant.io
enthält keine Dokumentation, aber es liefert ein paar Beispiele, anhand derer wir die Socket-Server-Kommunikation verstehen können; die Beispiele finden Sie hier.
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook