Swoole의 하트비트 감지는 매우 간단합니다. heartbeat_check_interval 및 heartbeat_idle_time만 구성하면 됩니다.
heartbeat_check_interval: 서버가 몇 초마다 시간 초과를 감지함을 나타냅니다. heartbeat_idle_time보다 작아야 합니다. (추천 학습: swoole 비디오 튜토리얼)
heartbeat_idle_time은 연결을 끊는 데 걸리는 시간을 나타냅니다.
샘플 코드는 5초 감지를 보여줍니다. 10초 이내에 서버에 데이터가 전송되지 않으면 끊어집니다
<?php date_default_timezone_set(‘Asia/Shanghai‘); //创建Server对象,监听 127.0.0.1:9501端口 $serv = new swoole_server("127.0.0.1", 9501); $serv->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();
cli 측에서 서비스를 시작하세요.
클라이언트 액세스
클라이언트가 먼저 요청을 보내고 시간은 2018-08-23 11:39:23이며 나중에 전송되지 않습니다
사진 공유 기술
The 서버는 2018-08-23 11:39:33에 클라이언트 연결이 끊어졌습니다. 정확히 10초
위 내용은 스울 테스트 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!