
In diesem Artikel erfahren Sie Folgendes: Installieren und Ausführen des Swoft-Websocket-Servers.
Dieser Artikel gehört zu einer Reihe von Artikeln auf dem Swoft WebSocket Server. Lass uns etwas über Swoft lernen!
Was ist Swoft?
Swoft ist ein PHP-Hochleistungs-Microservice-Coroutine-Framework. Es wurde seit vielen Jahren veröffentlicht und ist die beste Wahl für PHP geworden.
Es kann wie Go, ein integrierter Coroutine-Webserver und ein allgemeiner Coroutine-Client sein und befindet sich unabhängig vom herkömmlichen PHP-FPM im Speicher.
Es gibt ähnliche Go-Sprachoperationen, ähnlich den flexiblen Annotationen des Spring Cloud-Frameworks.
Durch drei Jahre Akkumulation und Erforschung der Richtung hat Swoft Swoft zur Spring Cloud in der PHP-Welt gemacht, die die beste Wahl für das Hochleistungs-Framework und das Microservices-Management von PHP ist.
Github
Neues Projekt erstellen
Verwenden swoft-cli
Tool swoft-cli
, um ein neues Projekt für Websocket zu erstellen.
php swoftcli.phar create:app --type ws swoft-ws-app cd swoft-ws-app composer install
Server starten
Starten Sie den Websocket-Server mit dem Befehl php bin/swoft ws:start
, den Sie unten sehen können:
$ php bin/swoft ws:start Information Panel ******************************************************************************************* * WebSocket | Listen: 0.0.0.0:18308, type: TCP, mode: Process, worker: 8 *******************************************************************************************
Port des Websocket-Servers ist 18308
Modul
Verwenden Sie das swoft-cli
Tool, um ein neues Websocket-Modul zu erstellen.
php swoftcli.phar gen:ws-mod echo --prefix /echo
Code für das Echo-Modul ( app/WebSocket/EchoModule.php
) wie app/WebSocket/EchoModule.php
:
<?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
Verwenden swoft-devtool
hier swoft-devtool
, um den WebSocket-Server zu verbinden.
Verwenden php bin/swoft dclient:ws /echo
in swoft-devtool
Komponente swoft-devtool
, um eine Verbindung zum WebSocket-Server herzustellen. Die Meldung zum Verbindungserfolg wird wie swoft-devtool
.
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