Heim > PHP-Framework > Denken Sie an PHP > Grundlegende Verwendung von ThinkPHP6 Workerman

Grundlegende Verwendung von ThinkPHP6 Workerman

Guanhui
Freigeben: 2021-02-01 12:03:15
nach vorne
9398 Leute haben es durchsucht

Workerman

Workerman ist ein Open-Source-Hochleistungs-PHP-Socket-Server-Framework, das rein in PHP entwickelt wurde. Es wird häufig in der Entwicklung von mobilen Apps, mobilen Spieleservern, Online-Spieleservern, Chatroom-Servern, Hardware-Kommunikationsservern, Smart Homes, dem Internet der Fahrzeuge, dem Internet der Dinge und anderen Bereichen eingesetzt. Unterstützt lange TCP-Verbindungen, unterstützt Websocket, HTTP und andere Protokolle sowie benutzerdefinierte Protokolle. Basierend auf Workerman können sich Entwickler mehr auf die Entwicklung der Geschäftslogik konzentrieren und müssen sich nicht mehr um die zugrunde liegende Entwicklung von PHP Socket kümmern.

Installieren

Erste Installation

composer require topthink/think-worker
Nach dem Login kopieren
über Composer

Verwenden Sie

Verwenden Sie Workerman als HttpServer

Starten Sie den Server in der Befehlszeile

php think worker
Nach dem Login kopieren

Dann können Sie über den Browser direkt auf die aktuelle Anwendung zugreifen

http://localhost:2346
Nach dem Login kopieren
Nach dem Login kopieren

Linux kann die folgenden Befehle unterstützen

php think worker [start|stop|reload|restart|status]
Nach dem Login kopieren

workerman-Parameter kann sein Konfigurieren Sie es in worker.php im Anwendungskonfigurationsverzeichnis.

Da es keinen HTTP_HOST gibt, wenn onWorkerStart ausgeführt wird, ist es am besten, app_host in der Anwendungskonfigurationsdatei festzulegen

SocketServer

Starten Sie den Server auf Die Befehlszeile (erfordert Version 2.0.5+)

php think worker:server
Nach dem Login kopieren
Nach dem Login kopieren

öffnet standardmäßig einen Websocket-Dienst unter 0.0.0.0:2345.

Wenn Sie benutzerdefinierte Parameter benötigen, können Sie diese in config/worker_server.php konfigurieren, einschließlich:

配置参数描述
protocol协议
host监听地址
port监听端口
socket完整的socket地址

und unterstützt alle Parameter von workererman (einschließlich globaler statischer Parameter).

unterstützt auch die Verwendung von Abschlüssen zum Definieren zugehöriger Ereignisrückrufe.

return [
    'socket'    =>  'http://127.0.0.1:8000',
    'name'      =>  'thinkphp',
    'count'     =>  4,
    'onMessage' =>  function($connection, $data) {
        $connection->send(json_encode($data));
    },
];
Nach dem Login kopieren

unterstützt auch die Verwendung benutzerdefinierter Klassen als Worker-Service-Eintragsdateiklassen. Beispielsweise können wir eine Serviceklasse erstellen (muss thinkworkerServer erben), dann Eigenschaften festlegen und Rückrufmethoden hinzufügen

<?php
namespace app\http;
use think\worker\Server;
class Worker extends Server
{
    protected $socket = &#39;http://0.0.0.0:2346&#39;;
    public function onMessage($connection,$data)
    {
        $connection->send(json_encode($data));
    }
}
Nach dem Login kopieren

unterstützt alle Rückrufmethodendefinitionen von workererman (Rückrufmethoden müssen öffentliche Typen sein)

Fügen Sie dann den Konfigurationsparameter in worker_server.php hinzu:

return [
    &#39;worker_class&#39;  =>  &#39;app\http\Worker&#39;,
];
Nach dem Login kopieren

Nach der Definition dieses Parameters sind andere Konfigurationsparameter nicht mehr gültig.

Starten Sie den Server in der Befehlszeile

php think worker:server
Nach dem Login kopieren
Nach dem Login kopieren

und greifen Sie dann im Browser auf

http://localhost:2346
Nach dem Login kopieren
Nach dem Login kopieren

zu. Wenn es unter Linux läuft, ist der Vorgang „reload|restart|stop|status“. wird auch unterstützt

php think worker:server reload
Nach dem Login kopieren

Empfohlene Tutorials: „ThinkPHP“ „PHP Tutorial“ „Workerman Tutorial

Das obige ist der detaillierte Inhalt vonGrundlegende Verwendung von ThinkPHP6 Workerman. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:kancloud.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage