使用Gateway::sendToUid 給客戶端發(fā)送數(shù)據(jù),會(huì)發(fā)送兩條一樣的數(shù)據(jù),時(shí)間間隔只有百分之1毫秒差距
客戶機(jī) 監(jiān)聽了兩次的原因,而且sendToUid會(huì)發(fā)送 N個(gè)設(shè)備, 可能是 客戶端開了兩個(gè)進(jìn)程連接,綁定了2次
我業(yè)務(wù)邏輯中, 這個(gè)是主設(shè)備唯一標(biāo)識(shí), 所以只會(huì)發(fā)送給一臺(tái)設(shè)備,再三檢查不太清楚問題點(diǎn),如果方便可以留個(gè)郵箱,我發(fā)業(yè)務(wù)代碼,麻煩大佬幫忙查看一下
檢查過業(yè)務(wù)邏輯,并未發(fā)現(xiàn)你所說的這種情況, 兩次推送間隔百分之1毫秒左右,加鎖是可以搞定, 但是這個(gè)問題點(diǎn)不清楚具體是怎么導(dǎo)致的
記錄日志,看下 Gateway::sendToUid 調(diào)用了幾次。
如果確實(shí)只調(diào)用過了一次,那有可能是客戶端與服務(wù)端建立了2個(gè)連接導(dǎo)致。
還有就是抓包看下網(wǎng)絡(luò)傳輸,傳輸了幾次,是不是不同的連接。