
2、示例代码 后端 2.1 下载之后会得到这俩个文件 2.2 这个文件对应上面的worker_class 的地址 2.3.worker.php示例代码composer require topthink/think-worker
send(json_encode('connect success'));
}
## 接收消息,接收心跳消息 ,接收用户id 信息等等
public function onMessage($connection,$data)
{
$connection->lastMessageTime = time();
#var_dump($data);
$connection->send(json_encode('receive success'));
}
/**
* 消息回调
* @param $worker
* @author 冬
* @date 2022/5/5 17:07
*/
public function onWorkerStart($worker)
{
//查看是否有新的下面的3是几秒推送一次
Timer::add(3, function () use ($worker) {
$time_now = time();
var_dump(date('Y-m-d H:i:s',$time_now) );
## 推送的数据
$infoObj = IndexModel::getTips();
$infoArr = json_decode(json_encode($infoObj),true);
if (true) {
foreach ($worker->connections as $connection) {
if (empty($connection->lastMessageTime)) {
$connection->lastMessageTime = $time_now;
}
var_dump(date('Y-m-d H:i:s',$connection->lastMessageTime) );
if ($time_now - $connection->lastMessageTime > self::$heartbeat_time) {
$connection->close();
}
$connection->send(json_encode($infoArr));
}
} else {
var_dump(22);
foreach ($worker->connections as $connection) {
if (empty($connection->lastMessageTime)) {
$connection->lastMessageTime = $time_now;
continue;
}
if ($time_now - $connection->lastMessageTime > self::$heartbeat_time) { //连接超时
$connection->close();
}
}
}
});
}
public function onClose($connection){
var_dump('close');
}
}
2.4 前端示例代码
3、开启服务 php think worker:server
4、打开前端页面查看是否链接成功
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)