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

設(shè)備第一次登錄生成的clientid和第二次的clientid不一致

dou號(hào)

問題描述

設(shè)備登錄后綁定對(duì)應(yīng)的設(shè)備和clientid,稱此時(shí)的clientid為id1,設(shè)備30分鐘會(huì)發(fā)送一次登錄指令,當(dāng)設(shè)備再次發(fā)送登錄指令時(shí),有時(shí)候會(huì)出現(xiàn)clientid不一樣的情況,稱此時(shí)的clientid為id2,,那么此時(shí)就出現(xiàn)了一臺(tái)設(shè)備,兩個(gè)clientid的情況,此時(shí)設(shè)備的心跳指令會(huì)在id2的通道進(jìn)行收發(fā),那么超時(shí)之后,id1就會(huì)觸發(fā)onclose。觸發(fā)onclose時(shí),會(huì)更新數(shù)據(jù)庫(kù)里面設(shè)備的狀態(tài),這樣就會(huì)出現(xiàn)設(shè)備在線,但數(shù)據(jù)庫(kù)里面的設(shè)備離線的情況,所以我需要在onclose里面需要判斷設(shè)備是否綁定有多個(gè)clientid,如果有多個(gè)則不去更新數(shù)據(jù)庫(kù)設(shè)備的狀態(tài),我該如何判斷呢?可以調(diào)用Gateway::getClientIdByUid這個(gè)函數(shù)嗎?

824 2 1
2個(gè)回答

Gin

第二次登陸把 clientID2 存到庫(kù)里邊 覆蓋clientid1

  • dou號(hào) 2024-06-25

    請(qǐng)問怎么覆蓋

  • Gin 2024-06-25

    存數(shù)據(jù)庫(kù)

  • dou號(hào) 2024-06-25

    我這邊clientid并沒有寫入數(shù)據(jù)庫(kù)的操作,我可以在登錄時(shí)調(diào)用Gateway::getClientIdByUid,
    如果返回的clientid和當(dāng)前clientid不一致,將之前的clientid進(jìn)行解綁,這樣可以嗎?如果解綁了,$session還有效嗎?
    或者我通過(guò)Gateway::closeClient($client_id)將第一次登錄的clientid關(guān)閉?

  • Gin 2024-06-25

    掉線后 getClientIdByUid 是獲取不到之前的 clientid的

  • dou號(hào) 2024-06-25

    現(xiàn)在是設(shè)備新的登錄指令過(guò)來(lái)了但是之前的clientid還沒有掉線,在心跳檢測(cè)時(shí)間內(nèi),兩個(gè)clientid同時(shí)存在的情況

  • Gin 2024-06-25

    你這是邏輯處理的問題, 第一次登陸 存$_SESSION信息(設(shè)備序列號(hào)啥的), 第二次登陸 判斷session是否設(shè)置了信息, 設(shè)置則不處理

  • dou號(hào) 2024-06-25

    第二次登錄后clientid已經(jīng)變了,是不是意味著通道也變了,那么第一次登錄的clientid所在的通道的session在第二次登錄的clientid里面,是無(wú)法讀取吧

  • Gin 2024-06-25

    為什么會(huì)變, 值客戶端主動(dòng)斷開連接了? 重連了? 不同的clientid中的session不互通

  • dou號(hào) 2024-06-25

    這邊也不太清楚,可能涉及到設(shè)備的問題,我這邊監(jiān)控onmessage里面的信息,發(fā)現(xiàn)設(shè)備在未斷開的時(shí)候,發(fā)送了一條新的登錄指令過(guò)來(lái),新的clientid

  • Gin 2024-06-25

    你看看 onconnect 連接了幾次

  • dou號(hào) 2024-06-25

    謝謝解答

walkor 打賞

一般做法如下:
1、設(shè)備上線時(shí)用Gateway::bindUid($client_id, $device_id);將client_id與設(shè)備id綁定
2、client_id斷開時(shí)通過(guò)Gateway::isUidOnline($device_id); 判斷設(shè)備是否離線
3、給設(shè)備發(fā)送數(shù)據(jù)的時(shí)候直接用Gateway::sendToUid($device_id);發(fā)送數(shù)據(jù)

client_id是臨時(shí)數(shù)據(jù),不應(yīng)該存數(shù)據(jù)庫(kù)

  • dou號(hào) 2024-06-25

    第二條,是指在onclose里面調(diào)用Gateway::isUidOnline($device_id)來(lái)判斷設(shè)備是否離線是嗎

  • walkor 2024-06-25

    對(duì)

  • dou號(hào) 2024-06-25

    好的,謝謝

??