// 心跳間隔
$gateway->pingInterval = 6;
// 心跳數(shù)據(jù)
$gateway->pingData = '{"type":"some_ping"}';
$gateway->pingNotResponseLimit = 1;
這樣的配置客戶端會(huì) pingInterval/2 秒(也就是3秒)收到一次心跳消息,為什么不是6秒呢?
gateway.php有這樣的邏輯。。。。。。。
// 如果有設(shè)置心跳,則定時(shí)執(zhí)行
if($this->pingInterval > 0)
{
$timer_interval = $this->pingNotResponseLimit > 0 ? $this->pingInterval/2 : $this->pingInterval;
Timer::add($timer_interval, array($this, 'ping'));
}