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

AsyncTcpConnection作為客戶端接收消息問題

dsqq

我現(xiàn)在使用AsyncTcpConnection作為客戶端接收其他服務(wù)器推送過來的消息,但是發(fā)現(xiàn)有數(shù)據(jù)會(huì)漏掉,幾分鐘才會(huì)收到一條,但是接口那邊測試沒有問題,推送很快

// 遠(yuǎn)程websocket服務(wù)器發(fā)來消息時(shí)
    $ws_connection->onMessage = function($connection, $data){
        $data = json_decode($data,true);
        if(!empty($data['S'])){
            if($data['M'].$data['S'] == 'EF8937'){
                echo date("Y-m-d H:i:s").":推送:{$data['P']}".PHP_EOL;
            }
            $gather = new Gather();
            $gather->run('rf_addon_tf_futures_symbol','tf_futures_trade',$data);
            // echo microtime(true)-$start . PHP_EOL;
        }
    };

上面是我接收的代碼,我只打印了一個(gè)產(chǎn)品的數(shù)據(jù),本人對workerman不是很了解,第一次用,請各位幫幫忙……

2991 1 0
1個(gè)回答

walkor 打賞

你要先排除業(yè)務(wù)邏輯問題,把業(yè)務(wù)邏輯都去掉,只記錄log試下,比如

    $ws_connection->onMessage = function($connection, $data){
        echo $data;
    };

看下接收是否正常。

  • dsqq 2020-01-06

    謝謝,我發(fā)現(xiàn)是我后續(xù)的操作導(dǎo)致的, 現(xiàn)在我想開一個(gè)單獨(dú)處理的worker,收到消息之后交給這個(gè)worker去處理,但是我發(fā)現(xiàn)內(nèi)存占用特別高,這個(gè)怎么處理

  • walkor 2020-01-07

    一樣的操作,去掉業(yè)務(wù)邏輯,看下占用內(nèi)存是否高,不高的話一點(diǎn)點(diǎn)加回業(yè)務(wù)邏輯代碼,找到導(dǎo)致占用內(nèi)存高的業(yè)務(wù)代碼,然后具體分析。

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