
Este artículo que vamos a aprender es: Cómo instalar y ejecutar el servidor swoft websocket.
Este artículo es uno de una serie de artículos sobre Swoft WebSocket Server. ¡Aprendamos sobre Swoft!
¿Qué es swoft?
Swoft es un marco de trabajo de rutina de microservicio de alto rendimiento de PHP. Se ha publicado durante muchos años y se ha convertido en la mejor opción para php.
Puede ser como Go, un servidor web de rutina incorporado y un cliente de rutina común y reside en la memoria, independiente del PHP-FPM tradicional.
Existen operaciones de lenguaje Go similares, similares a las anotaciones flexibles del marco Spring Cloud.
A través de tres años de acumulación y exploración de direcciones, Swoft ha convertido a Swoft en la Nube de Primavera en el mundo PHP, que es la mejor opción para el marco de trabajo de alto rendimiento y la gestión de microservicios de PHP.
Github
Crear nuevo proyecto
Utilice la herramienta swoft-cli
para crear un nuevo proyecto para Websocket.
php swoftcli.phar create:app --type ws swoft-ws-app cd swoft-ws-app composer install
Iniciar servidor
Inicie el servidor Websocket con php bin/swoft ws:start
comando de php bin/swoft ws:start
, puede ver a continuación:
$ php bin/swoft ws:start Information Panel ******************************************************************************************* * WebSocket | Listen: 0.0.0.0:18308, type: TCP, mode: Process, worker: 8 *******************************************************************************************
El puerto del servidor Websocket es 18308
Modulo
Use la herramienta swoft-cli
para crear un nuevo módulo websocket.
php swoftcli.phar gen:ws-mod echo --prefix /echo
Código para el módulo de eco ( app/WebSocket/EchoModule.php
) como este:
<?php declare(strict_types=1); namespace App\WebSocket; use Swoft\Http\Message\Request; use Swoft\Http\Message\Response; use Swoft\WebSocket\Server\Annotation\Mapping\WsModule; use Swoft\WebSocket\Server\Annotation\Mapping\OnOpen; use Swoft\WebSocket\Server\Annotation\Mapping\OnHandshake; use Swoole\WebSocket\Server; class EchoModule { public function checkHandshake(Request $request, Response $response): array {
Prueba
Aquí use swoft-devtool
para conectar el servidor WebSocket.
Use el php bin/swoft dclient:ws /echo
en el componente swoft-devtool
para conectar el servidor WebSocket, puede ver el mensaje de éxito de la conexión como se muestra a continuación.
Begin connecting to websocket server: 127.0.0.1:18308 path: /echo Success connect to websocket server. Now, you can send message INTERACTIVE ================================================================================ server> ?Opened, welcome #1! client> hi server> Recv: hi client>
Github