Heim  >  Artikel  >  PHP-Framework  >  Verwendung von Workerman in ThinkPHP6

Verwendung von Workerman in ThinkPHP6

Guanhui
Guanhuinach vorne
2020-06-10 09:16:399495Durchsuche

Verwendung von Workerman in ThinkPHP6

Grundlegende Verwendung von ThinkPHP6 Workerman

Workerman

Workerman ist eine Open Source, die ausschließlich in entwickelt wurde PHP Hochleistungsfähiges PHP-Socket-Server-Framework. 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.

Verwandte Empfehlungen: „Workerman-Tutorial

Installation

Erste Installation über Composer

composer require topthink/think-worker

Verwenden Sie

Verwenden Sie Workerman als HttpServer

Starten Sie den Server in der Befehlszeile

php think worker

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

http://localhost:2346

Linux unterstützt die folgenden Befehle

php think worker [start|stop|reload|restart|status]

Die Parameter von workererman können in worker.php im Anwendungskonfigurationsverzeichnis konfiguriert werden.

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

ö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:

und unterstützt alle Worker-Parameter (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));
 },
];

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));
 }
}

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 der Definition dieses Parameters sind andere Konfigurationsparameter nicht mehr gültig.

Starten Sie den Server auf der Befehlszeile

php think worker:server

Greifen Sie dann im Browser auf

http://localhost:2346

zu, wenn dieser unter Linux läuft, neu laden|neu starten|stoppen unterstützt auch |Statusoperation

php think worker:server reload

Empfohlenes Tutorial: „PHP

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

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.im. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen