MyQEE\Server\Worker::sendMessage PHP Метод

sendMessage() публичный Метод

和 swoole 不同的是, 它支持服务器集群下向任意集群去投递数据
public sendMessage ( $data, integer $workerId, integer $serverId, string $serverGroup = null ) : boolean
$data
$workerId integer
$serverId integer
$serverGroup string
Результат boolean
    public function sendMessage($data, $workerId, $serverId = -1, $serverGroup = null)
    {
        if ($serverId < 0 || Server::$clustersType === 0 || $this->serverId === $serverId && null === $serverGroup) {
            # 没有指定服务器ID 或者 本服务器 或 非集群模式
            if ($this->name !== 'Main') {
                $obj = new \stdClass();
                $obj->_sys = true;
                $obj->name = $this->name;
                $obj->sid = Server::$serverId;
                $obj->data = $data;
                $data = $obj;
            }
            return $this->server->sendMessage($data, $workerId);
        } else {
            $client = Clusters\Client::getClient($serverGroup, $serverId, $workerId, true);
            if (!$client) {
                return false;
            }
            return $client->sendData('msg', $data, $this->name);
        }
    }