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

  1. Basierend auf dem Publish-Subscribe-Modell

  2. 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.