swoole_timer模块提供了异步毫秒定时器,可用于心跳包发送。
$client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_ASYNC); //异步非阻塞
$client->on("connect", function(swoole_client $cli){});
$client->on("receive", function(swoole_client $cli, $data){});
$client->on("error", function(swoole_client $cli){});
$client->on("close", function(swoole_client $cli){});
$client->connect('127.0.0.1', 5001);
swoole_timer_add(150000, function () use ($client) {
$client->send('beatheart');
});
150秒发送一次心跳包。