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

Gatewayworker中使用AsyncTcpConnection如何?;钸B接?

vall_lai

我在本地的Gatewayworker中第一個(gè)businessWorker線程建了一個(gè)AsyncTcpConnection連接,如果只在onclose()中做reConnect(5)的話,發(fā)現(xiàn)當(dāng)我拔掉網(wǎng)線的時(shí)候沒辦法重連到遠(yuǎn)端,所以做了心跳,開了個(gè)定時(shí)器監(jiān)測(cè),超過2次就直接重新連接,但是運(yùn)行一段時(shí)間后發(fā)現(xiàn)AsyncTcpConnection一直反復(fù)的執(zhí)行到onclose(),這是什么原因?或者說我用的方法有問題?有沒有這方面的demo?

3589 2 0
2個(gè)回答

walkor 打賞

可能是邏輯有問題,發(fā)下代碼看看?

  • 暫無評(píng)論
vall_lai

大致是這樣的,有些不相關(guān)的我刪掉了

if ($businessWorker->id == 0) {

            Timer::add(60,'re',true);

            $GLOBALS->connect();
            $GLOBALS->onClose = function($connection_to_yun) {
                $GLOBALS->reConnect(5);
                $GLOBALS = strtotime(date("Y-m-d H:i:s"));
            };
            $GLOBALS->onMessage = function($connection_to_yun, $message){
                if($message == "0000FFFF")
                        //心跳
                        heart();
                }
            }
}

function heart(){
    $heartbeat_time=date("Y-m-d H:i:s");
    $GLOBALS=strtotime($heartbeat_time);
    $GLOBALS->send("1111");
}

//重連
function re(){
        $isNetworkReachable = varify_url('http://xxxxxxxxxx');
        $currentTime = strtotime(date("Y-m-d H:i:s"));

        if($currentTime - $GLOBALS>120 && $isNetworkReachable == "1"){
             $GLOBALS->reConnect(5);
        }else{

        }
}
  • veinliu 2019-11-22

    能把怎么把AsyncTcpConnection集成到businessWorker里面的代碼發(fā)給我參考一下嗎?我研究了一天不能用。

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