Commit:https://github.com/swoole/swoole-src/pull/3708/files4.5.5正在开发中,版本尚未发布之前的版本,底层提供connect_time和last_time两条时间信息,单位是秒,表示:连接服务器的时间和最后一次接收数据的时间。在非常复杂和实际的项目中,这两条信息远远不能满足要求。我们在最新版本中对其进行了优化。时间精度调整底层时间全部改用double类型,精确到微秒,包括:连接建立和数据接收、发送、数据。增加发送和传递时间在Server::getClientInfo()方法的返回值中新增3个时间字段,精度为微秒:last_recv_time:最后一次接收数据的时间last_dispatch_time:最后一次接收数据的时间delivered,当触发onReceive回调时,读取该信息得到当前$data在master进程中被派发的时间。通过判断投递时间与当前时间的差值,可以得到管道中等待的耗时任务。last_send_time:最近一次发送到内核Socket缓冲区的时间,可以用来判断客户端是否可以正常接收数据包,是否存在接收延迟。通过更准确的时间数据,可以实现更细粒度的通信管理。
