Server->heartbeat

检测服务器所有连接,并找出已经超过约定时间的连接。如果指定if_close_connection,则自动关闭超时的连接。未指定仅返回连接的fd数组。

需要1.6.10以上版本

函数原型:

array Server::heartbeat(bool $if_close_connection = true);
  • $if_close_connection是否关闭超时的连接,默认为true
  • 调用成功将返回一个连续数组,元素是已关闭的$fd
  • 调用失败返回false

$if_close_connection 在1.7.4+可用

示例:

$closeFdArrary = $serv->heartbeat();

  • 鬼头虾

    $if_close_connection 参数不起作用

  • play_soso

    $if_close_connection 参数不起作用 ,真正起作用的是,是否设置了 heartbeat_check_interval ,如果设置了调用该方法 就会关闭 过时的连接 ,否则,不会有什么操作
    该方法 返回 值

     Array (     
        [0] => 21
     )
    

    key 为数字键,值为fd值

  • ∴

    每次获取到的是上一轮检测到的超时的连接吗,如果是的话,配合定时器使用, 在我的group中清除某些fd可行吗