在未做任何代碼變更的情況下,出現(xiàn)了斷開連接無法觸發(fā)onClose的情況,過了1個多小時又好了
流程如下:
1.殺死APP,過了大概9秒才出現(xiàn)onclose的調(diào)用(測試結(jié)果證實是由心跳觸發(fā),心跳檢測為4秒的時候8、9秒觸發(fā)onclose,設(shè)置為30秒的時候大概一分鐘觸發(fā)onclose),反復(fù)測試都是這個結(jié)果
2.經(jīng)過多次重啟之后還是只能由心跳觸發(fā)onclose,問題沒有解決
3.在只是調(diào)整日志打印的代碼情況下,又突然好了,能夠在殺死app的時候馬上觸發(fā)onclose了,不知道為什么
4.測試方法:tail -f -n 100 stdout.log,然后將APP不停的打開再殺掉,在某段時間里,都不能直接觸發(fā)onclose
中途重啟過多次php start.php restart,一直沒好,在某一次測試的時候突然就好了,后續(xù)都好了,所以不知道跟重啟有沒有關(guān)系,很困擾,害怕再次出現(xiàn),代碼改動只增加了var_dump作為調(diào)試
我表述不清,心跳斷開鏈接我明白,但是心跳是在斷網(wǎng)等情況下才用心跳檢測健全,像我這種殺死應(yīng)用應(yīng)該是能馬上捕捉到socket連接斷開才對(之前都是的,現(xiàn)在出現(xiàn)了不能捕捉到連接斷開,應(yīng)該是能捕捉到斷開連接的什么fan包的)
我發(fā)現(xiàn)了造成的原因,無意間試出來的,當我開著移動網(wǎng)絡(luò)和wifi的時候,我頻繁的開關(guān)wifi,然后就會導(dǎo)致后面的onclose都要等心跳檢測才會觸發(fā),不知道什么原因
@@walkor 為什么我兩臺手機,一臺手機殺死APP能馬上觸發(fā)onClose(心跳4秒,經(jīng)過多次測試都是殺死應(yīng)用瞬間觸發(fā)onClose,非巧合),另外一臺手機用同樣的方式殺死APP,卻不會瞬間觸發(fā)onClose,必須等到心跳檢測才觸發(fā)。