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

定時(shí)發(fā)心跳包問題

Wakada

// 心跳間隔
$gateway->pingInterval = 20;

// 心跳無回應(yīng)次數(shù)
$gateway->pingNotResponseLimit = 0;

start_gateway中設(shè)置了20秒發(fā)一次心跳包,但客戶端基本都是40秒左右才收到心跳包?

9196 1 0
1個(gè)回答

walkor 打賞

手冊有說明這個(gè)現(xiàn)象。
http://wtbis.cn/gatewaydoc/gateway-worker-development/heartbeat.html

所有連接共享同一個(gè)心跳周期(Gateway::$pingInterval秒),心跳周期結(jié)束那一刻,服務(wù)端會(huì)檢查所有客戶端連接,如果連接在該心跳周期內(nèi)有向服務(wù)端發(fā)送數(shù)據(jù)(包括客戶端回應(yīng)給服務(wù)端的心跳包),則不發(fā)送心跳。如果心跳周期內(nèi)客戶端沒發(fā)過來數(shù)據(jù),則發(fā)送心跳給客戶端。服務(wù)端緊接著進(jìn)入下一個(gè)心跳周期。

如果客戶端有回應(yīng)心跳包,那么根據(jù)這個(gè)心跳周期機(jī)制,服務(wù)端會(huì)每兩個(gè)心跳周期(2* Gateway::$pingInterval秒)才發(fā)送一次心跳。因?yàn)榉?wù)端會(huì)收到客戶端心跳響應(yīng)包,收到心跳響應(yīng)包的心跳周期將不會(huì)發(fā)送心跳,下一個(gè)心跳周期才會(huì)發(fā)送心跳。

以上摘自手冊。
簡單的理解就是服務(wù)端收到客戶端的數(shù)據(jù)了,服務(wù)端已經(jīng)知道客戶端還在,那么20秒內(nèi)沒必要再發(fā)心跳去詢問了,所以下次心跳會(huì)在第二個(gè)心跳周期發(fā),也就是大概40秒的時(shí)間間隔

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