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

為啥我使用webman自定義進(jìn)程連接別人的websocket的時(shí)候時(shí)間長(zhǎng)了進(jìn)程會(huì)收不到消息了

shaonian820

為啥我使用webman自定義進(jìn)程連接別人的websocket的時(shí)候時(shí)間長(zhǎng)了進(jìn)程會(huì)收不到消息了。
這是執(zhí)行php status.php status的狀態(tài) total_request數(shù)量一直不增加了。也收不到對(duì)方推送的消息了。
代碼里也沒(méi)有報(bào)錯(cuò)。查看stdout.log和webman.log也沒(méi)有報(bào)錯(cuò)信息。
截圖
連接的時(shí)候使用AsyncTcpConnection 類 使用匿名函數(shù)的方式定義了onConnect,onClose,onError的回調(diào)其中 下列是連接代碼。

     public function onWorkerStart($worker)
    {
        var_dump('鏈接websocket' . date("Y-m-d H:i:s"));

        $websocketConnection = (string)config('futures_websocket');
        //期貨
        $futuresCon = new AsyncTcpConnection($websocketConnection);
        //期貨websocket
        $this->futuresWebsocket($futuresCon);
    }
    public function futuresWebsocket(AsyncTcpConnection $futuresCon)
    {
        $futuresCon->transport = 'ssl';
        $futuresCon->onConnect = function (AsyncTcpConnection $futuresCon) {
            var_dump('期貨ws連接成功' . date("Y-m-d H:i:s"));
            $param = ['id' => mt_rand(0, 100), 'method' => 'SUBSCRIBE', 'params' => Cache::getSubscribeParam()['futures']];
            $futuresCon->send(json_encode($param));
        };
        $futuresCon->onMessage = function (AsyncTcpConnection $futuresCon, $data) {
            $msgData = json_decode($data, true);
            if (!empty($msgData['data']['e'])) {
                Cache::setStreamData($msgData['data']['e'], $msgData['data']['s'],$data);
            }
        };
        $futuresCon->onClose = function (AsyncTcpConnection $futuresCon) {
            $futuresCon->reconnect();
            var_dump("期貨ws鏈接斷開(kāi),執(zhí)行重連" . date("Y-m-d H:i:s"));
        };
        $futuresCon->onError = function ($futuresCon, $code, $msg) {
            echo "期貨錯(cuò)誤信息 $code $msg\n";
        };
        $futuresCon->connect();
    }

截圖
websocket連接就一直收不到信息了。然后進(jìn)程也在,也沒(méi)有執(zhí)行onClose的回調(diào)。

1776 2 0
2個(gè)回答

shaonian820

截圖
這時(shí)候只有重啟整個(gè)框架才又ok了。想不明白是啥問(wèn)題導(dǎo)致的。

  • 暫無(wú)評(píng)論
2548a

http://www.wtbis.cn/doc/workerman/faq/heartbeat.html
看你代碼跟描述,像是這個(gè)問(wèn)題.

  • shaonian820 2022-09-16

    呃 服務(wù)端的websocket里會(huì)發(fā)ping檢測(cè)的,workerman會(huì)自動(dòng)響應(yīng)pong幀。不是心跳的問(wèn)題

  • six 2022-09-16

    workerman端也要加心跳,或者至少判斷下多少秒內(nèi)沒(méi)收到對(duì)方心跳就斷開(kāi)重連。否則你和對(duì)方的網(wǎng)絡(luò)中斷了,你都不知道,自然不會(huì)重連了

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