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!
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 './Workerman/Autoloader.php'; // 创建一个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
php start.php status
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-MultiprozessenUm 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, UDPworkerman 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 VerbindungenOft 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ätworkerman 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 RubrikWorkerman-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!