workerman Channel组件全局广播

<?php
use WorkermanWorker;

require_once '../../web/Workerman/Autoloader.php';
require_once '../../web/Channel/src/Client.php';
require_once '../../web/Channel/src/Server.php';

$worker = new Worker('text://0.0.0.0:0623');
$clientServer = new ChannelServer('0.0.0.0', '2206');

$worker->count = 8;
$who_say_id = '';
$worker->onWorkerStart = function ($worker)
{
ChannelClient::connect('127.0.0.1', 2206);
ChannelClient::on('braodcast', function ($eventData)use($worker){
global $who_say_id;
$eventDataDe = json_decode($eventData);
foreach ($worker->connections as $connection) {
if ($who_say_id != $connection) { //不重复给自己广播
$connection->send($eventDataDe);
}
}
});
};

$worker->onMessage = function ($connection, $data)
{
global $who_say_id;
$who_say_id = $connection;
$data_json = json_encode($data);
ChannelClient::publish('braodcast', $data_json);
};

Worker::runAll();
原文地址:https://www.cnblogs.com/jasonxiaoqinde/p/7460020.html