当前位置:网站首页>Swoole 健康检查
Swoole 健康检查
2022-08-08 20:24:00 【李斌的BLOG】
参考文献
client同步阻塞客户端:https://wiki.swoole.com/#/client?id=%E5%AE%8C%E6%95%B4%E7%A4%BA%E4%BE%8B
heartbeat_check_interval:https://wiki.swoole.com/#/server/setting?id=heartbeat_check_interval
健康检查机制
对于长连接这种断开的问题;主要的点就在于服务端会保存客户端会话的有效性以及平台上监控所有客户端的网络状况;对于这种功能的实现我们可以通过两种方式实现
1、轮询机制
2、心跳机制
代码演示
tcpServer.php
<?php
// var_dump(swoole_get_local_ip());die;
echo swoole_get_local_ip()['eth0'].":9503\n";
$server = new Swoole\Server("0.0.0.0", 9503);
// 每个2s检测,在3s内没有给我发送信息的连接
$server->set([
'heartbeat_check_interval' => 2, // 检测所有的连接
'heartbeat_idle_time' => 3,
]);
$server->on('connect', function ($server, $fd){
echo "connection open: {
$fd}\n";
});
$server->on('receive', function ($server, $fd, $reactor_id, $data) {
echo "接收到信息".$data." \n";
$server->send($fd, "swoole: {
$data}");
});
$server->on('close', function ($server, $fd) {
echo "connection close: {
$fd}\n";
});
$server->start();
tcpClient.php
<?php
$client = new Swoole\Client(SWOOLE_SOCK_TCP);
if (!$client->connect('127.0.0.1', 9503, -1)) {
exit("connect failed. Error: {
$client->errCode}\n");
}
//每隔2000ms触发一次
swoole_timer_tick(2000, function ($timer_id) use ($client) {
echo "string\n";
$client->send(1);
$client->recv();
});
// $client->send("hello world1\n");
// echo $client->recv();
// $client->send("hello world2\n");
// echo $client->recv();
// $client->send("hello world3\n");
// echo $client->recv();
// $client->send("hello world4\n");
// echo $client->recv();
// $client->close();
边栏推荐
- JSP第二篇 -----JSP浅聊EL表达式第二篇:EL表达式中的运算符
- 莅临GOPS大会龙智展位,获取Forrester最新报告:《Forrester Wave:2021年第四季度企业服务管理报告》
- 微信小程序第一集
- JSD-2204-Session-Token-JWT-Day12
- wps表格怎么复制粘贴后与原来格式一样?
- 树查找(暑假每日一题 18)
- 实践篇2:深度学习之----LetNet之tensorflow2的实现
- 借问变量何处存,牧童笑称用指针,Go lang1.18入门精炼教程,由白丁入鸿儒,go lang类型指针(Pointer)的使用EP05
- 【翻译】用Argo CD揭开企业规模的持续交付的秘密成分
- JMeter测试接口并发场景
猜你喜欢
JSP第二篇 -----JSP浅聊EL表达式第二篇:EL表达式中的运算符
CVPR 2022 ActivityNet竞赛冠军:中科院深圳先进院提出高低分双模态行为识别框架
推荐系统如何可信?罗格斯大学最新《可信推荐系统》综述,43页pdf阐述可信RS组成与技术
Mei cole studio OpenHarmony equipment development training notes - the first learn notes
亚洲首个!朱永官院士荣获2022年国际土壤科学联合会李比希奖
学习笔记:第二部分 队列
自定义MVC
How can recommender systems be trusted?A review of the latest "Trusted Recommender System" from Rutgers University, a 43-page pdf explaining the composition and technology of trusted RS
riscv-gnu-toolchain下载安装
阿里云OSS文件下载到本地指定文件有坑
随机推荐
超人飞来!Flutter 实现满屏的力量感动画!
Experience Sharing | A low-cost and fast-paced approach to building an enterprise knowledge management system
亚洲首个!朱永官院士荣获2022年国际土壤科学联合会李比希奖
Factorial of 1088 N
编写CMakeLists生成静态库及可执行文件的make文件
黑猫带你学Makefile第6篇:Makefile重要规则
暑期“小候鸟”超员增多 惠州交警提醒:安全出行不能忘
推荐系统如何可信?罗格斯大学最新《可信推荐系统》综述,43页pdf阐述可信RS组成与技术
Maykel Studio OpenHarmony Device Development Training Notes - Chapter 6 Study Notes
openEuler 资源利用率提升之道02:典型应用下的效果
基于opencv的图片人像移除
From interview to autism, five rounds of interviews for byte software testing post, four hours of soul torture...
2022年云商店联合营销市场发展基金(MDF)介绍
Float.parseFloat()的作用
阿里云OSS文件下载到本地指定文件有坑
分布式链路追踪Jaeger + 微服务Pig在Rainbond上的实践分享
知乎高赞:如果一个程序员工作5年后还没成为大牛,是不是该考虑别的路子了?
1088 N的阶乘
方舟综合指令代码大全系统综合
方舟开服务器教程——开服配置常见问题及解决方法