首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
多端口监听,子服务心跳检测失效
### 开启了多端口监听,在子服务设置了心跳检测,但是不起作用,实测只能主服务设置有作用 ### 相关代码 ```php $server = new Swoole\Server("127.0.0.1", 9503); $port1 = $server->listen("127.0.0.1", 9501, SWOOLE_SOCK_TCP); $port1->set([ 'heartbeat_idle_time' => 60, // 表示一个连接如果600秒内未向服务器发送任何数据,此连接将被强制关闭 'heartbeat_check_interval' => 6, // 表示每60秒遍历一次 ]); $port1->on('connect', function ($server, $fd){ echo "connection open: {$fd}\n"; }); $port1->on('receive', function ($server, $fd, $reactor_id, $data) { $server->send($fd, "Swoole: {$data}"); $server->close($fd); }); $server->on('receive', function ($server, $fd, $reactor_id, $data) { $server->send($fd, "Swoole: {$data}"); $server->close($fd); }); $port1->on('close', function ($server, $fd) { echo "connection close: {$fd}\n"; }); $server->start(); ``` ### 你期待的结果是什么? 子服务能否单独设置心跳检测?
发布于5年前 · 1 次浏览 · 来自
提问
Ewan.
### 开启了多端口监听,在子服务设置了心跳检测,但是不起作用,实测只能主服务设置有作用 ### 相关代码 ```php $server = new Swoole\Server("127.0.0.1", 9503); $port1 = $server->listen("127.0.0.1", 9501, SWOOLE_SOCK_TCP); $port1->set([ 'heartbeat_idle_time' => 60, // 表示一个连接如果600秒内未向服务器发送任何数据,此连接将被强制关闭 'heartbeat_check_interval' => 6, // 表示每60秒遍历一次 ]); $port1->on('connect', function ($server, $fd){ echo "connection open: {$fd}\n"; }); $port1->on('receive', function ($server, $fd, $reactor_id, $data) { $server->send($fd, "Swoole: {$data}"); $server->close($fd); }); $server->on('receive', function ($server, $fd, $reactor_id, $data) { $server->send($fd, "Swoole: {$data}"); $server->close($fd); }); $port1->on('close', function ($server, $fd) { echo "connection close: {$fd}\n"; }); $server->start(); ``` ### 你期待的结果是什么? 子服务能否单独设置心跳检测?
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
2020-10-27
鲁飞
多端口监听支持的选项较少,https://wiki.swoole.com/#/server/port?id=%e5%8f%af%e9%80%89%e5%8f%82%e6%95%b0
赞
0
回复
2020-10-27
Rango
将 `heartbeat_check` 选项设置到`Server`对象上,而不是`Port`对象
赞
0
回复
2020-10-29
Ewan.
回复
Rango
ok ,可以的,谢谢大神
赞
0
回复
2020-10-29
Ewan.
回复
Rango
heartbeat_check 选项设置到Server对象上,但是Port对象上的heartbeat_idle设置依然不起作用
赞
0
回复