手機(jī)APP在后臺(tái)運(yùn)行時(shí)貌似會(huì)使ws連接出現(xiàn)問(wèn)題,實(shí)際上是斷開(kāi)了但是卻不調(diào)用onerror或者onclose,有沒(méi)有辦法判斷當(dāng)前ws的連接是否正??捎没蛘邞?yīng)該采取什么方案?
這里面有一個(gè)問(wèn)題,我是同時(shí)開(kāi)啟客戶(hù)端和服務(wù)端的心跳的,客戶(hù)端40秒,服務(wù)端55秒,當(dāng)服務(wù)端收到客戶(hù)端的心跳時(shí),服務(wù)端是會(huì)跳過(guò)當(dāng)輪的心跳發(fā)送的,但是這個(gè)跳過(guò)會(huì)使得客戶(hù)端無(wú)法收到這個(gè)心跳會(huì)以為已經(jīng)和服務(wù)端斷開(kāi)了連接,但是連接是沒(méi)有斷開(kāi)的,這樣客戶(hù)端會(huì)錯(cuò)誤判斷而發(fā)起重連。想在客戶(hù)端判斷連接是否正常有效,方便發(fā)起重連。
參考文檔 客戶(hù)端定時(shí)發(fā)送心跳(推薦) ,不需要客戶(hù)端和服務(wù)端都主動(dòng)發(fā)心跳,服務(wù)端被動(dòng)回應(yīng)心跳就好了