企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 心跳检测程序 ## 官方文档 https://www.workerman.net/doc/workerman/faq/heartbeat.html ~~~ <?php require_once 'workerman/Autoloader.php'; require_once 'workerman/Lib/Timer.php'; use Workerman\Worker; use Workerman\Timer; $worker = new Worker('text://0.0.0.0:2222',); //当客户端发来信息的时候 设置一个 lastMessageTime临时属性 记录时间 $worker->onMessage=function ($connection,$data) { $connection->lastMessageTime=time(); }; //子进程启动时候记录时间,也就是链接的时候 //$worker->connections 此属性中存储了当前进程的所有的客户端连接对象,其中id为connection的id编号 $worker->onWorkerStart=function ($worker){ Timer::add(1,function ()use($worker){ $now_time=time(); //$conn 此属性中存储了当前进程的所有的客户端连接对象 foreach ($worker->connections as $conn){ if(empty($conn->lastMessageTime)){ $conn->lastMessageTime=$now_time; } //判断如果大于10秒未有信息将会断开 if($now_time-$conn->lastMessageTime>10){ $conn->close("长时间未连接断开"); } } }); }; Worker::runAll(); ~~~