国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

關(guān)于殺死APP斷開連接,沒有觸發(fā)onClose,但是又莫名其妙好了的困擾

問題描述

在未做任何代碼變更的情況下,出現(xiàn)了斷開連接無法觸發(fā)onClose的情況,過了1個多小時又好了

程序代碼或配置

截圖

重現(xiàn)問題的步驟

流程如下:
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
截圖
截圖

操作系統(tǒng)環(huán)境及workerman/webman等具體版本

1392 5 0
5個回答

PHP武漢小老弟

中途重啟過多次php start.php restart,一直沒好,在某一次測試的時候突然就好了,后續(xù)都好了,所以不知道跟重啟有沒有關(guān)系,很困擾,害怕再次出現(xiàn),代碼改動只增加了var_dump作為調(diào)試

  • a178251115 2023-05-16

    心跳就是這樣的,比如你心跳4秒,剛好再第4秒的時候殺死app 了,哪你可能要等8秒才能由心跳斷開鏈接,同理:30秒一個道理

  • a178251115 2023-05-16

    還有就是你可能再快心跳的時候殺了app,所以下一秒心跳就給你斷開了,你感覺很快,找個邏輯沒有問題,你要馬上觸發(fā),只有改心跳時間,越短越快

  • PHP武漢小老弟 2023-05-16

    我表述不清,心跳斷開鏈接我明白,但是心跳是在斷網(wǎng)等情況下才用心跳檢測健全,像我這種殺死應(yīng)用應(yīng)該是能馬上捕捉到socket連接斷開才對(之前都是的,現(xiàn)在出現(xiàn)了不能捕捉到連接斷開,應(yīng)該是能捕捉到斷開連接的什么fan包的)

  • a178251115 2023-05-16

    殺死引用,你程序都沒了,憑什么主動觸發(fā)onclose 回調(diào)?

  • PHP武漢小老弟 2023-05-16

    殺死應(yīng)用,正常服務(wù)端是能馬上觸發(fā)onclose回調(diào)的

  • a178251115 2023-05-16

    難的理你,你都殺死應(yīng)用了,啥玩意去回調(diào)?。坑闷ü上攵贾啦豢赡馨?,都能回調(diào)還要什么心跳

PHP武漢小老弟

我發(fā)現(xiàn)了造成的原因,無意間試出來的,當我開著移動網(wǎng)絡(luò)和wifi的時候,我頻繁的開關(guān)wifi,然后就會導(dǎo)致后面的onclose都要等心跳檢測才會觸發(fā),不知道什么原因

  • PHP武漢小老弟 2023-05-16

    30元有償求答

  • a178251115 2023-05-16

    不是你斷網(wǎng)了,服務(wù)端就馬上知道,這種只能等心跳去檢測,這就需要加心跳的原因

  • latin 2023-05-16

    斷網(wǎng)這種心跳檢測才能檢測到

  • PHP武漢小老弟 2023-05-16

    沒有斷網(wǎng),我后面也沒有頻繁切換網(wǎng)絡(luò),一直開著網(wǎng)絡(luò),只是殺死APP

  • latin 2023-05-16

    切換網(wǎng)絡(luò)或者關(guān)閉wifi就是一種斷網(wǎng)

  • PHP武漢小老弟 2023-05-16

    后續(xù)沒切換也沒斷網(wǎng)。

a178251115

你糾結(jié)找個onclose 意義不大,自己后端代碼判斷清楚就行了,防止一個app 重復(fù)建立多次鏈接就行

  • 暫無評論
nitron

Kill掉應(yīng)用不會主動觸發(fā)或者說立即服務(wù)器的onClose,因為服務(wù)器不知道

  • 暫無評論
PHP武漢小老弟

@@walkor 為什么我兩臺手機,一臺手機殺死APP能馬上觸發(fā)onClose(心跳4秒,經(jīng)過多次測試都是殺死應(yīng)用瞬間觸發(fā)onClose,非巧合),另外一臺手機用同樣的方式殺死APP,卻不會瞬間觸發(fā)onClose,必須等到心跳檢測才觸發(fā)。

  • PHP武漢小老弟 2023-05-17

    說個不可理解的現(xiàn)象,就是多次測試得出一個現(xiàn)象:殺死應(yīng)用瞬間觸發(fā)onClose的那臺手機處于充電狀態(tài),如果拔掉充電,則再測試不會瞬間觸發(fā)onClose

  • walkor 2023-05-17

    這個不是服務(wù)端問題,是否及時觸發(fā)onClose取決于手機端在殺死app時是否及時發(fā)送了fin包給服務(wù)端。沒發(fā)送fin包就只能依賴心跳檢測延遲觸發(fā)onclose。至于手機什么情況下發(fā)fin包取決于手機操作系統(tǒng)的實現(xiàn)。

年代過于久遠,無法發(fā)表回答
??