Commit: https://github.com/swoole/swoole-src/pull/3708/files

在之前的版本中,底层提供了connect_timelast_time两项工夫信息,单位为秒,示意:

  • 连贯到服务器的工夫
  • 最初一次接收数据的工夫

在非常复杂理论的我的项目中,这两项信息是远远不能满足需要的,在最新的版本中咱们进行了优化。

工夫精度调整

底层的工夫全副改为应用 double 类型,准确到了微秒,包含:建设连贯与数据接管、投递、数据。

减少发送和投递工夫

Server::getClientInfo() 办法的返回值中减少了3个新的工夫字段,精度为微秒:

  • last_recv_time:最近一次接收数据的工夫
  • last_dispatch_time:最近一次投递数据的工夫,当触发onReceive回调时,读取此信息能够失去,以后的$datamaster过程是什么工夫dispatch的,通过判断投递工夫和以后工夫的差值,能够失去工作在管道中期待的耗时
  • last_send_time:最近一次发送到内核Socket缓存区的工夫,通过此工夫能够判断出客户端是否能够失常接管数据包,是否存在接管延时

通过更准确的工夫数据,能够实现更细粒度的通信治理。