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

我這邊發(fā)現(xiàn)一個(gè)問題,配置里gateway-worker端口1236設(shè)置為了12360,并不會完全生效

fzx546

問題描述

我這邊發(fā)現(xiàn)一個(gè)問題,我把配置里gateway-worker端口1236設(shè)置為了12360,啟動這些都正常,但是在我使用gateway發(fā)送消息時(shí),仍然調(diào)用的是1236這個(gè)端口,導(dǎo)致不斷報(bào)錯(cuò)。后來我去vendor/workerman/gateway-worker/src/Lib/Gateway.php下把端口也改為12360才恢復(fù)正常

程序代碼或配置,這是配置

<?php

use Webman\GatewayWorker\Gateway;
use Webman\GatewayWorker\BusinessWorker;
use Webman\GatewayWorker\Register;

return [
    'gateway' => [
        'handler'     => Gateway::class,
        'listen'      => 'websocket://0.0.0.0:12720',
        'count'       => cpu_count(),
        'reloadable'  => false,
        'constructor' => ['config' => [
            'lanIp'           => '127.0.0.1',
            'startPort'       => 13000,
            'pingInterval'    => 25,
            'pingData'        => '{"type":"ping"}',
            'registerAddress' => '127.0.0.1:12360',
            'onConnect'       => function(){},
        ]]
    ],
    'worker' => [
        'handler'     => BusinessWorker::class,
        'count'       => cpu_count()*2,
        'constructor' => ['config' => [
            'eventHandler'    => plugin\webman\gateway\Events::class,
            'name'            => 'ChatBusinessWorker',
            'registerAddress' => '127.0.0.1:12360',
        ]]
    ],
    'register' => [
        'handler'     => Register::class,
        'listen'      => 'text://127.0.0.1:12360',
        'count'       => 1, // Must be 1
        'constructor' => []
    ],
];

這是vendor/workerman/gateway-worker/src/Lib/Gateway.php更改后,一開始是1236,導(dǎo)致外部配置修改了12360,程序仍然調(diào)用1236進(jìn)行發(fā)送

namespace GatewayWorker\Lib;

use Exception;
use GatewayWorker\Protocols\GatewayProtocol;
use Workerman\Connection\TcpConnection;

/**
 * 數(shù)據(jù)發(fā)送相關(guān)
 */
class Gateway
{
    /**
     * gateway 實(shí)例
     *
     * @var object
     */
    protected static $businessWorker = null;

    /**
     * 注冊中心地址
     *
     * @var string|array
     */
    public static $registerAddress = '127.0.0.1:12360';

    /**
     * 秘鑰
     * @var string
     */
    public static $secretKey = '';

    /**
     * 鏈接超時(shí)時(shí)間
     * @var int
     */
    public static $connectTimeout = 3;

    /**
     * 與Gateway是否是長鏈接
     * @var bool
     */
    public static $persistentConnection = true;

重現(xiàn)問題的步驟

情況發(fā)生在我調(diào)用了Gateway::ungroup($groupName);就會報(bào)錯(cuò)error:stream_socket_client(): Unable to connect to tcp://127.0.0.1:1236 (由于目標(biāo)計(jì)算機(jī)積極拒絕,無法連接。)。事實(shí)上我早就在配置里把端口改為了12360

操作系統(tǒng)環(huán)境及workerman/webman等具體版本

使用的webman官方最新版本,在webman里安裝的gateway-worker。系統(tǒng)是在本地電腦win10系統(tǒng)

764 1 0
1個(gè)回答

walkor 打賞

businessWorker進(jìn)程里的業(yè)務(wù)代碼可以自動識別regsiter端口。
其它進(jìn)程的業(yè)務(wù)代碼需要手動設(shè)置 Gateway::$registerAddress='127.0.0.1:xxx';用來標(biāo)記到底是向哪個(gè)gatewayWorker發(fā)送數(shù)據(jù)。有這個(gè)設(shè)置機(jī)制因?yàn)槠渌M(jìn)程無法獲知regsiter地址,并且可能部署了多個(gè)gatewayWorker,甚至GatewayWorker不在本服務(wù)器。

  • fzx546 2024-05-04

    明白了 感謝大佬,我的確是在外部直接調(diào)用的gateway,沒有重新手動設(shè)置地址

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