PHP-Socket-IO

Sheeraz Gul 15 Februar 2024
  1. PHP-Socket-IO
  2. So installieren Sie Elephant IO
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:

  1. Socket.io 5.x
  2. Socket.io 4.x
  3. Socket.io 3.x
  4. Socket.io 2.x
  5. Socket.io 1.x
  6. 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 auf Fertig 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:

PHP Elephant IO

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 Gul avatar Sheeraz Gul avatar

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