Gateway/Worker开发模子支撑服务端的心跳检测,可以定时向客户端发送运用层的心跳,可以实时检测到客户端极度掉线状况(掉电、突发网络故障等)。
注重:长衔接运用必需加心跳,不然衔接大概因为长时候未通信被路由节点强行断开。 (引荐进修: workerman教程)
心跳作用主要有两个:
1、客户端定时给服务端发送点数据,防备衔接因为长时候没有通信而被某些节点的防火墙封闭致使衔接断开的状况。
2、服务端可以经由过程心跳来推断客户端是不是在线,假如客户端在划定时候内没有发来任何数据,就以为客户端下线。如许可以检测到客户端因为极度状况(断电、断网等)下线的事宜。
心跳距离发起值:
发起客户端发送心跳距离小于60秒,比方55秒。
示例:
require_once __DIR__ . '/Workerman/Autoloader.php';
use Workerman\Worker;
use Workerman\Lib\Timer;
// 心跳距离55秒
define('HEARTBEAT_TIME', 55);
$worker = new Worker('text://0.0.0.0:1234');
$worker->onMessage = function($connection, $msg) {