我在服务端设置了如下代码,开启进程后客户端正常连接并在收到ping消息后主动推送pong消息 服务端日志打印可以确定onMessage收到了pong 但是几次ping之后 服务端还是主动close了连接 这是为什么?
// gateway 进程
$gateway = new Gateway("Websocket://0.0.0.0:7272");
// 设置名称,方便status时查看
$gateway->name = 'ChatGateway';
// 设置进程数,一般两个进程就足够
$gateway->count = 2;
// 分布式部署时请设置成内网ip(非127.0.0.1)
$gateway->lanIp = '127.0.0.1';
// 内部通讯起始端口。假如$gateway->count=2,起始端口为2300
// 则一般会使用2300 2301 2个端口作为内部通讯端口
$gateway->startPort = 2300;
// 心跳间隔
$gateway->pingInterval = 10;
$gateway->pingNotResponseLimit = 3;
下图为打印内容
可以看到收到几次pong后就停了 4次是当时设置的具体 pingInterval和pingNotResponseLimit 数值有所不同 但都是这个效果 interval*limit 秒之后服务端就会close掉这个连接

找的已经回答了的大都是让看gatewayworker的心跳那个的手册 没有具体解释原因和处理方案的