Heim  >  Artikel  >  PHP-Framework  >  Einführung in den Workerman (mit Gebrauchsanweisung)

Einführung in den Workerman (mit Gebrauchsanweisung)

尚
nach vorne
2019-11-25 17:22:439196Durchsuche

Die folgende Kolumne des Workerman-Tutorials führt Sie in das Konzept und die Verwendung von Workerman ein. Ich hoffe, dass es für Freunde hilfreich ist, die es brauchen!

Einführung in den Workerman (mit Gebrauchsanweisung)

Workerman ist ein leistungsstarkes PHP-Socket-Server-Framework, das auf der PHP-Multiprozess- und Libevent-Ereignisabfragebibliothek basiert. PHP-Entwickler müssen nur eine oder zwei Schnittstellen implementieren . Entwickeln Sie Ihre eigenen Netzwerkanwendungen, wie z. B. RPC-Dienste, Chatroom-Server, mobile Spieleserver usw.

Das Ziel von Workerman ist es, PHP-Entwicklern die Entwicklung leistungsstarker Socket-basierter Anwendungsdienste zu erleichtern, ohne die Details von PHP-Sockets und PHP-Multiprozessen verstehen zu müssen.

Workerman selbst ist ein PHP-Multiprozess-Server-Framework mit PHP-Prozessmanagement und Socket-Kommunikationsmodulen, sodass es unabhängig ausgeführt werden kann, ohne auf Container wie PHP-FPM, Nginx oder Apache angewiesen zu sein.

PHP-Prozessverwaltung: ähnlich der Prozessverwaltung des Betriebssystems.

Socket: Zwei Programme im Netzwerk tauschen Daten über eine bidirektionale Kommunikationsverbindung aus. Ein Ende dieser Verbindung wird als Socket bezeichnet.

Beispiel für die serverseitige Entwicklung eines WebSocket-Servers

1. Erstellen Sie eine neue Datei start.php

<?php use Workerman\Worker;
require_once &#39;./Workerman/Autoloader.php&#39;;

// 创建一个Worker监听2346端口,使用websocket协议通讯
$ws_worker = new Worker("websocket://0.0.0.0:2346");

// 启动4个进程对外提供服务
$ws_worker->count = 4;

// 当收到客户端发来的数据后返回hello $data给客户端
$ws_worker->onMessage = function($connection, $data)
{
    // 向客户端发送hello $data
    $connection->send('hello ' . $data);
};

// 运行
Worker::runAll();

2

php start.php start -d
Verwenden Sie die obige Anweisung, um start.php zu starten, einen Worker zum Abhören von Port 2346 zu erstellen, das Websocket-Protokoll für die Kommunikation zu verwenden und vier Prozesse zu starten, um externe Dienste bereitzustellen. Wenn eine Anfrage eingeht, werden Daten an gesendet Kunde.

3. Überprüfen Sie den Betriebsstatus von Workerman:

php start.php status

Einführung in den Workerman (mit Gebrauchsanweisung)

Mehrere Hauptfunktionen von Wokerman:

Pure PHP-Entwicklung

workerman wird vollständig mit PHP entwickelt. Mit Workerman entwickelte Anwendungen können unabhängig ausgeführt werden, ohne auf Container wie PHP-FPM, Apache und Nginx angewiesen zu sein. Dies macht es für PHP-Entwickler sehr bequem, Anwendungen zu entwickeln, bereitzustellen und zu debuggen.

Unterstützung von PHP-Multiprozessen

Um die Leistung der Multi-CPU des Servers voll auszunutzen, unterstützt Workerman standardmäßig Multiprozess und Multitasking. Workerman startet einen Hauptprozess und mehrere Unterprozesse, um externe Dienste bereitzustellen. Der Hauptprozess ist für die Überwachung der Exit-Signale der Unterprozesse und die Generierung neuer Unterprozesse zur Verarbeitung von Diensten verantwortlich. sondern macht Workerman auch stabiler.

Unterstützt TCP, UDP

workerman unterstützt die beiden Transportschichtprotokolle TCP und UDP. Sie müssen nur ein Feld der Konfiguration ändern, um das Transportschichtprotokoll zu ändern, ohne dass Änderungen am Geschäftscode erforderlich sind.

Unterstützt lange Verbindungen

Oft ist es für PHP-Anwendungen notwendig, lange Verbindungen mit Clients wie Chatrooms, Spielen usw. aufrechtzuerhalten, aber herkömmliche PHP-Container (Apache, Nginx, PHP -fpm) Das ist sehr schwierig. Workerman erleichtert die Verwendung langer PHP-Verbindungen. Ein einzelner PHP-Prozess kann Tausende oder sogar Zehntausende gleichzeitiger Verbindungen unterstützen, und mehrere Prozesse können Hunderttausende oder sogar Millionen gleichzeitiger Verbindungen unterstützen.

Unterstützt verschiedene Protokolle der Anwendungsschicht

Die Schnittstelle unterstützt verschiedene Protokolle der Anwendungsschicht, einschließlich benutzerdefinierter Protokolle. Zu den von Workerman standardmäßig unterstützten Protokollen gehören HTTP, WebSocket und das einfache Textprotokoll. Gleichzeitig stellt Workerman eine gemeinsame Protokollschnittstelle bereit, und Entwickler können auf Basis dieser Schnittstelle problemlos eigene Protokolle entwickeln.

Unterstützt hohe Parallelität

workerman unterstützt die Libevent-Ereignisabfragebibliothek (die Verwendung von Libevent erfordert eine hervorragende Leistung bei hoher Parallelität). Wenn Libevent nicht installiert ist, ist PHPs integrierte Option verfügbar verwandte Systemaufrufe.

Für mehr Workerman-Wissen beachten Sie bitte die Rubrik

Workerman-Tutorial.

Das obige ist der detaillierte Inhalt vonEinführung in den Workerman (mit Gebrauchsanweisung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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