国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

onBusinessWorkerConnected 這個屬性是不是沒有用呢?

sunwenzheng

文件:vendor\workerman\gateway-worker\src\Gateway.php


    /**
     * 當 worker 發(fā)來數(shù)據(jù)時
     *
     * @param TcpConnection $connection
     * @param mixed         $data
     * @throws \Exception
     *
     * @return void
     */
    public function onWorkerMessage($connection, $data)
    {
        $cmd = $data['cmd'];
        if (empty($connection->authorized) && $cmd !== GatewayProtocol::CMD_WORKER_CONNECT && $cmd !== GatewayProtocol::CMD_GATEWAY_CLIENT_CONNECT) {
            self::log("Unauthorized request from " . $connection->getRemoteIp() . ":" . $connection->getRemotePort());
            $connection->close();
            return;
        }
        switch ($cmd) {
            // BusinessWorker連接Gateway
            case GatewayProtocol::CMD_WORKER_CONNECT:
                $worker_info = json_decode($data['body'], true);
                if ($worker_info['secret_key'] !== $this->secretKey) {
                    self::log("Gateway: Worker key does not match ".var_export($this->secretKey, true)." !== ". var_export($this->secretKey));
                    $connection->close();
                    return;
                }
                $key = $connection->getRemoteIp() . ':' . $worker_info['worker_key'];
                // 在一臺服務器上businessWorker->name不能相同
                if (isset($this->_workerConnections[$key])) {
                    self::log("Gateway: Worker->name conflict. Key:{$key}");
                    $connection->close();
                    return;
                }
                $connection->key = $key;
                $this->_workerConnections[$key] = $connection;
                $connection->authorized = true;
                // onBusinessWorkerConnected 這里沒找到在哪里賦值的
                if ($this->onBusinessWorkerConnected) {
                    call_user_func($this->onBusinessWorkerConnected, $connection);
                }
                return;

我搜了代碼 找 onBusinessWorkerConnected 在哪里賦值的,結(jié)果沒找到,只有初始化時的一個null

    /**
     * BusinessWorker 連接成功之后觸發(fā)
     *
     * @var callback|null
     */
    public $onBusinessWorkerConnected = null;

我怕自己代碼不是最新的,又搜了下代碼庫
https://github.com/walkor/GatewayWorker/search?q=onBusinessWorkerConnected
也沒有找到,

請問 onBusinessWorkerConnected 這個屬性是不是沒有用呢?

1029 1 0
1個回答

phpcreeper

有用,其明顯是在應用層面預留給開發(fā)者的一個回調(diào)屬性,比如在start_gateway.php里按需調(diào)用:

$gateway->onBusinessWorkerConnected = function($connection){
    //do sth
};
  • sunwenzheng 2022-08-09

    你說的對,這個是留給開發(fā)者自己寫回調(diào)邏輯的,我一開始以為是gateway-worker自己內(nèi)部做了處理記錄,

年代過于久遠,無法發(fā)表回答
??