ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# 1.9.1 [TOC] ## 主要更新内容 * 修复使用`addProcess`添加用户进程后无法正常shutdown的问题 * 异步读写文件函数`Async::writeFile`增加`FILE_APPEND`选项支持 * 异步读写文件函数在进行read、write时对文件加锁 * 修复`Async::write`函数未设置回调函数发生崩溃的问题 * 重构`Async::write`函数追加模式的实现,使用`O_APPEND` * 重构`reopen log file`特性,收到`SIGRTMIN`信号后重新打开日志文件并重定向标准输出 * 修复`Table`迭代器遗漏数据的问题 * 回调函数`onPacket`客户端信息参数增加服务器来源端口`server_port` * 回调函数`onReceive`和`connection_info`方法即将移除对UDP的支持,UDP端口使用这2个特性时会抛出`E_DEPRECATED`警告信息 * 服务器连接迭代器`Connection\Iterator`增加ArrayAccess接口 * **修复`Server`在进程管道缓存区塞满后连续发送大数据导致死锁的问题(重要问题)** * 修复PHP7下启用`opcache`导致崩溃的问题 * 修复`taskWaitMulti`在超时后无法返回执行成功任务结果的问题 * 定时器使用`MONOTONIC`单调时间,解决系统时间修改导致定时器错乱的问题 ## 连接ArrayAccess用法 ~~~ $serv->on('connect', function ($serv, $fd, $reactor_id){ echo "IP Address: ".$serv->connections[$fd]['remote_ip']."\n"; if (isset($serv->connections[6])) { echo "connection 6 is exists.\n"; } }); ~~~