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

gateway的長連接出現(xiàn)監(jiān)聽不到onclose事件的情況

fqfisher

在onclose方法處增加了業(yè)務(wù)代碼,偶爾會(huì)出現(xiàn)沒有進(jìn)入onClose的方法內(nèi),這是什么原因?日志跟蹤也沒有,是不是會(huì)出現(xiàn)workman服務(wù)無法監(jiān)聽到長連接斷線的情況呢?

public static function onClose($client_id) {
        $port = $_SERVER;
        switch ($port) {
            case '8282':
            default:
                $url = 'xxxxxxx';
                $data = json_encode();
$dir_name = '/www/gateway/logs/';
                if(!is_dir($dir_name)){
                    @mkdir($dir_name, 0777, true);
                }
                $result = Curl::curl_post($url, , 3);
                if(!$result || $result != 0){
                    file_put_contents($dir_name.date('Ymd').'.log', date('Y-m-d H:i:s').' ' .json_encode($result).' client_id:'.$client_id.PHP_EOL,FILE_APPEND);
                }
                break;
        }
}
4085 4 0
4個(gè)回答

latin

onclose不是一定能執(zhí)行的,有些時(shí)候防火墻直接給你掐斷,服務(wù)端和客戶端永遠(yuǎn)不知道連接已經(jīng)斷開

  • fqfisher 2018-01-26

    防火墻掐斷是在什么情況下產(chǎn)生的?用戶建立了連接后,為什么會(huì)出現(xiàn)防火墻切斷? 還有就是出現(xiàn)了這種情況該如何處理???

maq

試試自己加上心跳,一般能避免被路由器切斷,即便被切斷,因?yàn)樾奶l(fā)送失敗,也不至于丟失 onclose。

  • fqfisher 2018-01-29

    心跳有了 按文檔的方式加的心跳,還是會(huì)有監(jiān)聽不到onclose的情況

  • maq 2018-01-29

    @2255:不行就再看看 onError 的情況 http://doc.workerman.net/315152

    你這個(gè)情況有點(diǎn)奇怪,可能要仔細(xì)排查才能確定原因了。

  • fqfisher 2018-01-29

    @3346:好的 謝謝 我再跟蹤下問題

順從

樓主,您的問題有解決了,我這邊在使用workerman的過程中也是會(huì)出現(xiàn)

  • 暫無評論
phpcreeper

斷電、斷網(wǎng)、路由器異常等等極端情況都會(huì)造成無法及時(shí)觸發(fā) onClose 。
建議你根據(jù)官方手冊好好檢查下這個(gè)參數(shù): Gateway::$pingNotResponseLimit > 0 , 大于0代表客戶端必須在規(guī)定的時(shí)間內(nèi)發(fā)送心跳給服務(wù)端,否則服務(wù)端會(huì)關(guān)閉對應(yīng)連接,并觸發(fā)onClose。

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