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

GatewayClient 類長時間會出現(xiàn)連接斷開

kongbai

問題描述

GatewayClient 連接 GatewayWorker,短時間沒問題,正常使用,但是 當(dāng)我在一個常駐內(nèi)存運(yùn)行的腳本里的時候,GatewayClient 只有開始能用,過一段時間后發(fā)送消息就會等很長時間,然后發(fā)不出去,報錯找不到好像,
應(yīng)該是超時被斷開還是什么原因,請問 GatewayClient類里面如何實(shí)現(xiàn)重連呢,或者 設(shè)置永不斷開之類的

程序代碼或配置

use GatewayClient\Gateway;
require __DIR__.'/socket/GatewayClient/Gateway.php';
require __DIR__.'/socket/Applications/mess_config.php';
$redis->pconnect('127.0.0.1', 6379);
Gateway::$registerAddress = '127.0.0.1:1235';
Gateway::$persistentConnection = true; // 長連接

$redis->subscribe(['__keyevent@0__:expired'], function ($r, $c, $msg) use ($roomPublic) {

    if (str_starts_with($msg, 'room_pk_expire:')) {
        //這里發(fā)送消息
        時間一長,就會發(fā)不出去
    }
});

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

由于代碼隱私問題,部分業(yè)務(wù)代碼已去除

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

最新的 GatewayWorker

313 1 0
1個回答

walkor 打賞

把 Gateway::$persistentConnection = true; 去掉

  • kongbai 2025-03-16

    也會,時間一長就會斷開,是否在這個里面有方法保持長連接

  • walkor 2025-03-16

    沒有 Gateway::$persistentConnection = true; 時GatewayClient 是短連接,沒有斷開的說法

  • kongbai 2025-03-16

    ok

  • kongbai 2025-03-16

    但是我在 start_gateway 里設(shè)置了 $gateway->pingInterval = 50; 然后用 GatewayWorker 去連接常駐在內(nèi)存里運(yùn)行,也不會出現(xiàn)超時斷開嗎

  • walkor 2025-03-16

    $gateway->pingInterval = 50 是控制客戶端和gateway進(jìn)程的連接,和gatewayClient沒關(guān)系,gatewayClient是一個sdk,用來給gateway進(jìn)程發(fā)送命令的,命令發(fā)送完 gatewayClient 和gateway連接就直接斷開了,類似http調(diào)用。所以不存在 gatewayClient 和gateway時間長了斷開的說法,他們之間本來默認(rèn)就不是長連接,沒有所謂“GatewayClient類里面如何實(shí)現(xiàn)重連”的說法

??