Channel verteiltes Kommunikationskomponente
(Erfordert Workerman Version >=3.3.0)
Quellcode-Adresse: https://github.com/walkor/Channel
Channel ist eine verteilte Kommunikationskomponente, die für die Interprozess- oder Serverskommunikation verwendet wird.
Merkmale
-
Basierend auf dem Publish-Subscribe-Modell
-
Nicht-blockierende I/O
Prinzip
Channel besteht aus dem Channel/Server (Server-Seite) und dem Channel/Client (Client-Seite).
Der Channel/Client verbindet sich über die connect-Schnittstelle mit dem Channel/Server und hält eine dauerhafte Verbindung aufrecht.
Der Channel/Client informiert den Channel/Server über die on-Schnittstelle, welche Ereignisse er abonniert, und registriert Rückruffunktionen (Callbacks, die im Prozess des Channel/Clients ausgeführt werden).
Der Channel/Client veröffentlicht mit der publish-Schnittstelle ein bestimmtes Ereignis sowie die damit verbundenen Daten an den Channel/Server.
Nachdem der Channel/Server das Ereignis und die Daten empfangen hat, verteilt er diese an die Channel/Clients, die an diesem Ereignis interessiert sind.
Der Channel/Client löst nach dem Empfang von Ereignis und Daten das Callback aus, das über die on-Schnittstelle festgelegt wurde.
Der Channel/Client erhält nur die Ereignisse, für die er sich angemeldet hat, und löst die entsprechenden Callbacks aus.
Installation
composer require workerman/channel
Hinweis
Channel kann nur in der Workerman-Umgebung verwendet werden, in der PHP-FPM-Umgebung ist es nicht nutzbar.