我這通常情況下連接不上會(huì)過(guò)好久再自己連接,但是有時(shí)候就會(huì)不連了,代碼圖附上,大神求指教
我這通常情況下連接不上會(huì)過(guò)好久再自己連接,但是有時(shí)候就會(huì)不連了
我不知道你是如何確定不連了。
問(wèn)題:
onClose那里重連就可以了,onError那里不用重連。
onError發(fā)生后一般還會(huì)發(fā)生onClose,所以onError里重連就重復(fù)了。
另外就是每次連接成功就加一個(gè)定時(shí)器,那么如果一直斷線重連會(huì)有很多重復(fù)的定時(shí)器,應(yīng)該onClose的時(shí)候刪除定時(shí)器。否則定時(shí)器積累越來(lái)越多會(huì)占用內(nèi)存和cpu。
其實(shí)AysncTcpConnection有reconnect方法的,可以定時(shí)重連,參考手冊(cè) http://doc.workerman.net/315176 。不用自己寫(xiě)重連邏輯。