Swoole's heartbeat detection is very simple. You only need to configure heartbeat_check_interval and heartbeat_idle_time.
heartbeat_check_interval: Indicates that the server detects timeout every few seconds. Be smaller than heartbeat_idle_time. (Recommended learning:swoole video tutorial)
heartbeat_idle_time indicates how much time it takes to disconnect.
The sample code demonstrates, 5s detection, if there is a break within 10s If no data is sent to the server, it will be cut off
set([ ‘heartbeat_check_interval‘ => 5, ‘heartbeat_idle_time‘ => 10, ]); //监听连接进入事件 $serv->on(‘connect‘, function ($serv, $fd) { echo "[".date(‘Y-m-d H:i:s‘)."]Client: Connect.\n"; }); //监听数据接收事件 $serv->on(‘receive‘, function ($serv, $fd, $from_id, $data) { $serv->send($fd, "[".date(‘Y-m-d H:i:s‘)."]Server: ".$data); }); //监听连接关闭事件 $serv->on(‘close‘, function ($serv, $fd) { echo "[".date(‘Y-m-d H:i:s‘)."]Client: Close.\n"; }); //启动服务器 $serv->start();
The cli side starts the service.
Client access
The client first sends a request, the time is 2018-08-23 11:39:23, and will not send it later
Technology sharing pictures
The server disconnected the client at 2018-08-23 11:39:33. Exactly 10s
The above is the detailed content of How to test swoole. For more information, please follow other related articles on the PHP Chinese website!