Channel分散通信コンポーネント

(Workermanバージョン>=3.3.0が必要です)

ソースコード:https://github.com/walkor/Channel

Channelはプロセス間通信またはサーバ間通信を完了するための分散通信コンポーネントです。

特徴

1、購読/発行モデルに基づく
2、ノンブロッキングIO

原理

ChannelにはChannel/ServerサーバーとChannel/Clientクライアントが含まれています。

Channel/Clientはconnectインタフェースを使用してChannel/Serverに接続し、長期間の接続を維持します。

Channel/Clientはonインタフェースを呼び出して、Channel/Serverに自分がどのイベントに関心を持っているかを通知し、イベントコールバック関数を登録します(コールバックはChannel/Clientが存在するプロセスで発生します)。

Channel/Clientはpublishインタフェースを使用して、特定のイベントと関連データをChannel/Serverに公開します。

Channel/Serverはイベントとデータを受け取った後、そのイベントに関心を持つChannel/Clientにそれを配信します。

Channel/Clientはイベントとデータを受け取った後、onインタフェースで設定されたコールバックをトリガーします。

Channel/Clientは自分の興味を持つイベントだけを受け取り、コールバックをトリガーします。

インストール

composer require workerman/channel

注意

ChannelはWorkerman環境でのみ使用でき、php-fpm環境では使用できません。