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