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

gatewayworkerman 分布式部署后,個別終端通信異常

13950120292

1.gatewayworkerman 目前是分布式部署,部署2臺,作為通訊中訊服務,然后入口是一臺負載均衡服務器,會自動代理鏈接分發(fā)到2臺任意一臺。

程序邏輯大致如下:

onMessage(clientid,message)
{
         (1)記錄message消息進入文件日志
           logger(message);     //產(chǎn)生問題,繼續(xù)往下看完
         (2)判斷數(shù)據(jù)包類型
           switch(type)
           case  login:   //登陸
                    $_SESSION = $array_data;
                    $_SESSION = $array_data;
                    Gateway::bindUid($client_id,$_SESSION."-".$_SESSION);
           case data:   //數(shù)據(jù)轉(zhuǎn)發(fā)
                    $target_uid = $array_data."-".$array_data;
                    $target_client_id_array = Gateway::getClientIdByUid($target_uid);
                    $target_client_id = "";
                    var_dump($target_client_id_array);
                    if(!empty($target_client_id_array))
                    {
                        $array_data = "response";
                        $array_data = $client_id;
                        $json_string = jsonFormat($array_data);
                        Gateway::sendToUid($target_uid, $json_string."\n");
                    }

            case "heartbeat":  //處理心跳包,每30秒一次,然后原包增加參數(shù)返回

                if(!isset($array_data))$array_data=$array_data;
                if(!isset($array_data))$array_data=$array_data;
                $message_data=json_decode($message,true);
                $message_data="workerman1_proxy_server";  //標記,查原因使用
                Gateway::sendToClient($client_id,jsonFormat($message_data)."\n");
                break ;
}

現(xiàn)在遇到的問題是:個別客戶端在正常接收心跳后某個時間點開始,就會接收不到心跳包,也就是日志上沒有記錄到logger(message),但是終端卻有正常收到服務端的心跳返回數(shù)據(jù),包括標記workerman1_proxy_server,實在很詭異,問題相互矛盾。不知道該如何下手去查原因,客戶端顯示心跳一直正常返回,而服務端卻記錄不到。

2818 1 0
1個回答

keytehu

目測有可能是你 logger(message)函數(shù)的問題

  • 13950120292 2017-01-07

    logger(message)是增加在入口的,其他終端都正常記錄到,心跳格式也一樣,所以基本是排除這個函數(shù)的問題,現(xiàn)在我們在心跳返回的數(shù)據(jù)包加上時間戳取代之前的靜態(tài)標記,來排除是否服務端的問題,還是客戶端故障

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