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

心跳包設(shè)置pingNotResponseLimit后,客戶端會斷開

Wakada

客戶端與Gateway進(jìn)行websocket長連接的情況下,
設(shè)置了pingInterval=30,pingNotResponseLimit=0,

這種情況下,客戶端會穩(wěn)定連接著,

但如果設(shè)置了pingNotResponseLimit > 0,等于1至等于5都試過,

就會在 30 * pingNotResponseLimit時斷開鏈接;

防火墻是關(guān)著的,所以不會受防火墻的影響,本以為可能是服務(wù)器環(huán)境問題,
后來重新搭建了個新的環(huán)境,只跑PHP和相關(guān)依賴,也同樣出現(xiàn)這個情況;

請問下還有什么因素會導(dǎo)致這種情況;例如keepalive?

8595 4 0
4個回答

walkor 打賞

Gateway::$pingInterval
服務(wù)端向客戶端發(fā)送心跳數(shù)據(jù)的時間間隔 單位:秒。如果設(shè)置為0代表不發(fā)送心跳檢測
Gateway::$pingNotResponseLimit
客戶端連續(xù)$pingNotResponseLimit次$pingInterval時間內(nèi)不回應(yīng)心跳則斷開鏈接。

摘自手冊 http://doc2.workerman.net/326139

如果$pingNotResponseLimit>0,客戶端必須在$pingInterval*$pingNotResponseLimit秒時間內(nèi)發(fā)送心跳給服務(wù)端,不然服務(wù)端就認(rèn)為客戶端已經(jīng)下線,斷開鏈接。

  • Wakada 2017-05-27

    好吧,我忘了補(bǔ)充,客戶端是有回心跳包的,并且,客戶端是做了雙向心跳包,服務(wù)器會主動發(fā)心跳包,客戶端同時也有主動心跳包機(jī)制,服務(wù)器回回心跳包,但………就是在$pingInterval*$pingNotResponseLimit后斷開連接…

  • walkor 2017-05-27

    可能發(fā)的心跳數(shù)據(jù)不符合服務(wù)端的協(xié)議

  • Wakada 2017-05-28

    心跳包數(shù)據(jù)不符合服務(wù)端協(xié)議???服務(wù)端發(fā)送的心跳包內(nèi)容是默認(rèn)的“{action:ping}”,客戶端只要回應(yīng)服務(wù)器應(yīng)該算是一個ping Ack了,這怎么說??

  • walkor 2017-05-28

    你可以用chrome瀏覽器f12 network里選擇ws鏈接,在Frames里看下,客戶端到底有沒有向服務(wù)端發(fā)送心跳,時間間隔是否小于服務(wù)端設(shè)置的pingInterval的值。

  • spridu 2018-03-20

    @1:客戶端讀超時,服務(wù)器超時時間,nginx讀超時設(shè)置的都正確,心跳間隔超過60S就有問題,期間websocket連接正常,可以收數(shù)據(jù),但是沒有心跳數(shù)據(jù)的發(fā)送。試過N次都是斷開與客戶端的連接,不是我網(wǎng)絡(luò)環(huán)境的問題,因?yàn)閟ocket還連著,雙方仍然能收到數(shù)據(jù),就是不心跳。

124543719

我也發(fā)生這種問題了,求大神解答!

  • 暫無評論
124543719

客戶端有回應(yīng),我專門在event里面寫了一個日志,可以收到客戶端回應(yīng),但是gateway依然斷開連接了!

  • 暫無評論
walkor 打賞

客戶端回應(yīng)不及時會斷開,日志記錄下客戶端發(fā)心跳的時間,看看是否超過gateway的心跳時間限制。
另外改了gateway的配置要restart重啟,不然無效

  • 暫無評論
年代過于久遠(yuǎn),無法發(fā)表回答
??