
Cet article que nous allons apprendre est: Comment installer et exécuter le serveur swoft websocket.
Cet article fait partie d'une série d'articles sur le serveur Swoft WebSocket. Apprenons à propos de Swoft!
Qu'est-ce que Swoft?
Swoft est un framework de coroutine de microservices hautes performances PHP. Il est publié depuis de nombreuses années et est devenu le meilleur choix pour php.
Il peut être comme Go, serveur Web coroutine intégré et client coroutine commun et réside en mémoire, indépendamment du PHP-FPM traditionnel.
Il existe des opérations de langage Go similaires, similaires aux annotations flexibles du framework Spring Cloud.
Grâce à trois années d'accumulation et d'exploration de directions, Swoft a fait de Swoft le Spring Cloud dans le monde PHP, qui est le meilleur choix pour le cadre hautes performances et la gestion des microservices de PHP.
Github
Créer un nouveau projet
Utilisez l'outil swoft-cli
pour créer un nouveau projet pour Websocket.
php swoftcli.phar create:app --type ws swoft-ws-app cd swoft-ws-app composer install
Démarrer le serveur
Démarrez le serveur Websocket avec php bin/swoft ws:start
commande de php bin/swoft ws:start
, vous pouvez voir ci-dessous:
$ php bin/swoft ws:start Information Panel ******************************************************************************************* * WebSocket | Listen: 0.0.0.0:18308, type: TCP, mode: Process, worker: 8 *******************************************************************************************
Le port du serveur Websocket est 18308
Module
Utilisez l'outil swoft-cli
pour créer un nouveau module websocket.
php swoftcli.phar gen:ws-mod echo --prefix /echo
Code pour le module d'écho ( app/WebSocket/EchoModule.php
) comme ceci:
<?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 {
Test
Ici, utilisez swoft-devtool
pour connecter le serveur WebSocket.
Utilisez la commande php bin/swoft dclient:ws /echo
dans le composant swoft-devtool
pour connecter le serveur WebSocket, vous pouvez voir le message de réussite de la connexion comme ci-dessous.
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