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

Gateway監(jiān)聽(tīng)多個(gè)端口時(shí),[心跳檢測(cè)間隔]只有一個(gè)有效?

kenny534
// 初始化 gateway 進(jìn)程
$gateway = new Gateway("p1://0.0.0.0:1227")// 心跳間隔
$gateway->pingInterval = 180;
$gateway->pingNotResponseLimit = 2;// 初始化 gateway 進(jìn)程
$gateway2 = new Gateway("p2://0.0.0.0:1228")// 心跳間隔
$gateway2->pingInterval = 120;
$gateway2->pingNotResponseLimit = 2;

開(kāi)啟了兩個(gè)gateway 分別在1227 (心跳間隔180)與 1228(心跳間隔120) 兩個(gè)端口監(jiān)聽(tīng)不同的協(xié)議。
現(xiàn)象:gateway 只發(fā)一次心跳給客戶端,最后斷開(kāi)了連接(距離連接成功14分鐘,距離客戶端發(fā)來(lái)的心跳數(shù)據(jù)9分鐘)
?gateway2 能正常給客戶端發(fā)心跳,但是心跳間隔是在180秒,而不是120秒
提問(wèn):gateway 與 gateway2是否可以分別設(shè)置不同的心跳間隔?以及pingNotResponseLimit ?

3592 4 0
4個(gè)回答

walkor 打賞

每個(gè)gateway的心跳間隔是分離的。
?
手冊(cè)有講心跳間隔最好不要大于60秒。原因是很多路由節(jié)點(diǎn)會(huì)清理60秒內(nèi)不活躍的連接,導(dǎo)致還沒(méi)來(lái)得及發(fā)送心跳,連接就斷開(kāi)了。
gateway 只發(fā)一次心跳給客戶端,最后斷開(kāi)了連接就是因?yàn)檫@個(gè)原因斷開(kāi)。
?

gateway2 能正常給客戶端發(fā)心跳,但是心跳間隔是在180秒,而不是120秒。

這部分手冊(cè)也有講。當(dāng)設(shè)置為服務(wù)端主動(dòng)發(fā)送心跳時(shí),如果客戶端最近有發(fā)來(lái)數(shù)據(jù),那么證明客戶端存活,服務(wù)端會(huì)省略一個(gè)心跳,下個(gè)心跳大約1.5*$gateway->pingInterval秒后發(fā)送。

  • lin楓520 2019-10-26

    我設(shè)置3秒發(fā)一次心跳 有問(wèn)題嗎?

kenny534

首先,感謝walker百忙之中的回復(fù)!
關(guān)于gateway的心跳間隔是分離的,還是有點(diǎn)疑問(wèn):(上述例子放在本地運(yùn)行)
后創(chuàng)建的gateway2的心跳間隔仍然是按照先創(chuàng)建的gateway所設(shè)置的心跳間隔來(lái)執(zhí)行的。由于是本地測(cè)試,可以忽略路由節(jié)點(diǎn)清理60秒內(nèi)不活躍連接的因素。使用的版本是workerman 3.5.22? / gateway 3.0.13
其次,補(bǔ)充說(shuō)明一下:上述例子的斷開(kāi)原因已經(jīng)找到:是客戶端邏輯造成的,不是服務(wù)器的原因,現(xiàn)在修改客戶端之后,已經(jīng)不會(huì)斷開(kāi)了
?

  • 暫無(wú)評(píng)論
walkor 打賞

還是上面手冊(cè)說(shuō)的,如果客戶端有向服務(wù)端發(fā)送數(shù)據(jù),服務(wù)端會(huì)省略一個(gè)心跳,下一個(gè)心跳會(huì)在1.5$gateway->pingInterval發(fā)送。
gateway2服務(wù)端定時(shí)向客戶端發(fā)送心跳,如果客戶端回應(yīng)心跳向服務(wù)端發(fā)送了數(shù)據(jù),服務(wù)端會(huì)省略一個(gè)心跳,下個(gè)心跳在1.5
$gateway->pingInterval秒發(fā)送,如此反復(fù)。
?
你可以把gateway的心跳設(shè)置成30秒,gateway2不變,看下gateway2是否變成30。
?

  • 暫無(wú)評(píng)論
kenny534

按您的提示,已經(jīng)把gateway的心跳設(shè)置成30秒,gateway2保持120不變,實(shí)測(cè)結(jié)果發(fā)現(xiàn)如下:
? ? ? ? ?一、gateway如您所說(shuō)會(huì)向客戶端以 1.5 $gateway->pingInterval 的間隔 發(fā)送心跳
? ? ? ? ?二、gateway2的心跳仍然固定在180秒一次,始終保持不變(雖然我設(shè)置的是120秒)
問(wèn)題:1、gateway使用的是自定義協(xié)議,客戶端向服務(wù)器發(fā)心跳包的情況,與您所說(shuō)一致。但為什么gateway2卻例外?
? ? ? ? ?2、gateway2的客戶端在收到心跳包之后,立即向服務(wù)器發(fā)了一個(gè)心跳包(與gateway2->pingData一致),但卻不能像自定義協(xié)議那樣出現(xiàn)1.5
$gateway->pingInterval 的時(shí)間間隔,這不是不websocket協(xié)議寫(xiě)死了的?gateway2使用的是websocket協(xié)議

  • walkor 2019-10-26

    gateway2客戶端回復(fù)心跳,時(shí)間間隔是120*1.5=180,這個(gè)符合預(yù)期吧

  • kenny534 2019-10-27

    嗯,這個(gè)符合,但是,還是.... 哈哈,總是遇到新問(wèn)題:(內(nèi)網(wǎng)測(cè)試,不考慮路由節(jié)點(diǎn)的60秒斷開(kāi)因素)
    gateway 的心跳改回180,pingNotResponseLimit = 2,客戶端主動(dòng)定時(shí)(240秒)發(fā)心跳給服務(wù)器。同時(shí),如果收到服務(wù)器的心跳也立即發(fā)一個(gè)心跳給服務(wù)器。基于此,在服務(wù)器端記錄收到客戶端的心跳時(shí)間表如下:
    2019-10-27 10:15:44] 客戶端連接成功時(shí)主動(dòng)發(fā)回心跳
    2019-10-27 10:16:08] 客戶端被動(dòng)發(fā)心跳(收到服務(wù)器心跳后立即發(fā)心跳給服務(wù)器)
    2019-10-27 10:16:13] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:16:24] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:17:03] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:17:11] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:17:25] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:17:29] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:19:13] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:19:42] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:19:44] 客戶端【主動(dòng)】發(fā)心跳
    2019-10-27 10:20:08] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:20:13] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:20:24] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:21:03] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:21:11] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:21:25] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:21:29] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:23:13] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:23:42] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:23:44] 客戶端【主動(dòng)】發(fā)心跳
    2019-10-27 10:24:08] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:24:13] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:24:24] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:25:03] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:25:11] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:25:25] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:25:29] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:27:13] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:27:42] 客戶端被動(dòng)發(fā)心跳
    2019-10-27 10:27:44] 客戶端【主動(dòng)】發(fā)心跳
    2019-10-27 10:28:08] 客戶端被動(dòng)發(fā)心跳
    上述gateway的心跳日志,好像又跟gateway2的心跳日志(180秒一次)的不太一樣,還請(qǐng)指教...

年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??