E/S de zócalo de PHP

Sheeraz Gul 15 febrero 2024
  1. E/S de zócalo de PHP
  2. Cómo instalar Elephant IO
E/S de zócalo de PHP

Este tutorial demuestra cómo implementar socket.io en PHP.

E/S de zócalo de PHP

La biblioteca socket.io permite la comunicación bidireccional, de baja latencia y basada en eventos entre el cliente y el servidor. La API oficial socket.io se puede encontrar aquí, que se implementa usando Node.js.

El socket.io no está implementado directamente en PHP porque no está escrito en PHP. Podemos usar las API como Elephant.io en PHP, que implementa socket.io en PHP para nosotros.

El Elephant.io es un cliente WebSocket en bruto escrito en PHP, que puede facilitar la comunicación entre el servidor y el cliente. El Elephant.io requiere al menos PHP 5.4 y OpenSSL.

El Elephant.io está autorizado bajo la licencia MIT. Los motores incorporados para los motores Elephant.io o Socket.io utilizados en Elephant.io son:

  1. Zócalo.io 5.x
  2. Zócalo.io 4.x
  3. Zócalo.io 3.x
  4. Zócalo.io 2.x
  5. Zócalo.io 1.x
  6. Zócalo.io 0.x

Cómo instalar Elephant IO

El elephant.io se proporciona en GitHub y se puede instalar usando el Compositor. En primer lugar, asegúrese de que el Composer esté instalado en su PHP y, si no lo está, primero instale el Composer, siga los pasos que se describen a continuación.

  • Vaya a este enlace.
  • Haga clic en la opción Descargar.
  • Descargue el archivo Composer-Setup.exe.
  • Ejecute el archivo Composer-Setup.exe.
  • Instalar para todos los usuarios.
  • Seleccione la ruta al archivo php.exe. Haga clic en Siguiente.
  • No seleccione el proxy y haga clic en Siguiente.
  • Haga clic en Instalar en la página siguiente.
  • Una vez finalizada la instalación, haga clic en Siguiente y luego en Finalizar.

Los pasos anteriores instalarán el Compositor en nuestro sistema Windows, y puede verificarlo ejecutando el comando compositor en cmd.

Ahora necesitamos ejecutar composer.phar con el comando php para instalar elephant.io e instalar Composer.phar en el directorio actual; use el siguiente comando.

php -r "readfile('https://getcomposer.org/installer');" | php

La salida de este comando será:

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>

Una vez instalado el Composer y Composer.phar, instalemos el Elephant.io. Ejecute el siguiente comando.

php composer.phar require elephantio/elephant.io

El comando anterior instalará el elephant.io y, si arroja el error de incompatibilidad de versión, utilice el siguiente comando para instalarlo directamente desde el compositor.

composer require elephantio/elephant.io:*

El resultado de la instalación de Elephant IO será:

PHP Elefante IO

Una vez instalado el paquete Elephant IO, podemos usarlo para comunicarnos con el servidor de socket. Aquí hay un ejemplo.

<?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';

?>

Antes de ejecutar este código, es posible que deba iniciar el servidor en el puerto 8000. Ejecute el siguiente comando en cmd.

php -S localhost:8000

El código anterior se comunicará con el servidor de socket para enviar los datos delftstack al evento llamado acción. La salida para el código anterior es:

trying to send `foo' to the event called action

Si la comunicación tarda más de 30 segundos, el código arrojará un error fatal como:

Fatal error: Maximum execution time of 30 seconds exceeded in C:\Apache24\htdocs\vendor\elephantio\elephant.io\lib\ElephantIO\Client.php on line 326

El Elephant.io no contiene documentación, pero proporciona algunos ejemplos a partir de los cuales podemos entender la comunicación del servidor de socket; los ejemplos se pueden encontrar aquí.

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