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

gatewayworker每次重啟,client_id都是從固定的1開始

lxping

下面兩個圖是我分別重啟后截圖,默認都是從client_id=1開始遞增。
這樣是不是一旦項目上線后,就不能關閉重啟了,只能通過平滑重啟,不然clietn_id與數(shù)據(jù)庫的uid對不上了?或者有沒有其他解決辦法?

查看源碼發(fā)現(xiàn),client_id是通過ip+端口+connection_id的16進制,connection_id是當前連接數(shù),所以workerman重啟后,connection_id就從1重新開始計算了。

/**
 * 生成connection id
 * @return int
 */
protected function generateConnectionId()
{
    $max_unsigned_int = 4294967295;
    if (self::$_connectionIdRecorder >= $max_unsigned_int) {
        self::$_connectionIdRecorder = 0;
    }
    while(++self::$_connectionIdRecorder <= $max_unsigned_int) {
        if(!isset($this->_clientConnections[self::$_connectionIdRecorder])) {
            break;
        }
    }
    return self::$_connectionIdRecorder;
}

4889 1 0
1個回答

梁大胖

數(shù)據(jù)庫只存uid啊,為什么要去存儲client_id呢?對不對得上好像沒啥影響吧 ,比如我把客戶的username存為UID 那以后我只需要去得到他的username去拿數(shù)據(jù)庫的東西啊 不需要在乎client_id 新手小白一個 不知道對不對..

  • lxping 2019-12-31

    謝謝,之前以為client_id是類似uuid或者md5之類的,永遠不會重復的,所以過渡依賴了sendToClient,現(xiàn)在懂了

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