環(huán)境:通過(guò)tcp連接著Gateway的智能硬件,已經(jīng)在Gateway綁定了uid,沒(méi)有使用心跳檢測(cè);
問(wèn)題:1)如果家里路由斷網(wǎng)了,持續(xù)一小時(shí),Gateway是否會(huì)認(rèn)為設(shè)備已掉線擦除了硬件的uid?
2)當(dāng)網(wǎng)線重新連上后,之前綁定的uid是否已經(jīng)不存在Gateway上了?需要重新綁定?
1、沒(méi)有心跳檢測(cè)的話,服務(wù)端可能偵測(cè)不到客戶端已經(jīng)斷開(kāi)。加心跳后如果偵測(cè)到socket斷開(kāi),那么uid對(duì)應(yīng)的這個(gè)client_id就失效了,自動(dòng)從uid對(duì)應(yīng)的client_id列表中刪除這個(gè)斷開(kāi)的client_id
2、重新連上服務(wù)端后需要重新驗(yàn)證這個(gè)socket是誰(shuí),需要重新binduid。其實(shí)和mysql服務(wù)一樣,連接斷開(kāi)后重連都需要重新驗(yàn)證用戶身份的。