
Este artigo que vamos aprender é: Como instalar e executar o servidor swoft websocket.
Este artigo é parte de uma série de artigos no Swoft WebSocket Server. Vamos aprender sobre o Swoft!
O que é o Swoft?
O Swoft é um framework de alto desempenho em microsserviços em PHP. Foi publicado por muitos anos e se tornou a melhor escolha para php.
Pode ser como Go, servidor da web incorporado de corotina e cliente comum de corotina e é residente na memória, independentemente do PHP-FPM tradicional.
Existem operações de idioma Go semelhantes, semelhantes às anotações flexíveis da estrutura Spring Cloud.
Através de três anos de acumulação e exploração de direção, a Swoft transformou a Swoft na Spring Cloud no mundo PHP, que é a melhor escolha para o gerenciamento de framework e microsserviços de alto desempenho do PHP.
Github
Criar novo projeto
Use swoft-cli
ferramenta swoft-cli
para criar um novo projeto para o Websocket.
php swoftcli.phar create:app --type ws swoft-ws-app cd swoft-ws-app composer install
Iniciar servidor
Inicie o servidor Websocket com php bin/swoft ws:start
command, você pode ver abaixo:
$ php bin/swoft ws:start Information Panel ******************************************************************************************* * WebSocket | Listen: 0.0.0.0:18308, type: TCP, mode: Process, worker: 8 *******************************************************************************************
A porta do servidor Websocket é 18308
Módulo
Use swoft-cli
ferramenta swoft-cli
para criar um novo módulo websocket.
php swoftcli.phar gen:ws-mod echo --prefix /echo
Código para o 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 {
Teste
Aqui, use o swoft-devtool
para conectar o servidor WebSocket.
Use o comando php bin/swoft dclient:ws /echo
no componente swoft-devtool
para conectar o servidor WebSocket, você pode ver a mensagem de sucesso da conexão como abaixo.
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