workerman Channel分布式通讯组件/进程通讯

2022-02-02

安装

composer require workerman/channel

服务端

use Workerman\Worker;
use Channel\Server;
require_once __DIR__ . '/vendor/autoload.php';

// 默认是监听0.0.0.0:2206
$channel_server = new Server($ip = '0.0.0.0', $port = 2206);

if(!defined('GLOBAL_START'))
{
    Worker::runAll();
}

客户端

use Workerman\Worker;
use Workerman\Client;
require_once __DIR__ . '/vendor/autoload.php';

$http_worker = new Worker('http://0.0.0.0:4237');
$http_worker->onWorkerStart = function()
{
    // 连接指定的Channel\Server
    Client::connect($ip = '0.0.0.0', $port = 2206);

    // 订阅事件$event_name(事件为自定义),注册订阅触发的回调$callback
    Client::on($event_name = '', $callback = function($event_data){

    });

    // 取消订阅某个事件
    Client::unsubscribe($event_name = '');

    // 向指定事件$event_name发送数据$event_data,数据类型不限
    Client::publish($event_name = '', $event_data);

};

Worker::runAll();

 

{/if}