1.9.1

主要更新内容

  • 修复使用addProcess添加用户进程后无法正常shutdown的问题
  • 异步读写文件函数Async::writeFile增加FILE_APPEND选项支持
  • 异步读写文件函数在进行read、write时对文件加锁
  • 修复Async::write函数未设置回调函数发生崩溃的问题
  • 重构Async::write函数追加模式的实现,使用O_APPEND
  • 重构reopen log file特性,收到SIGRTMIN信号后重新打开日志文件并重定向标准输出
  • 修复Table迭代器遗漏数据的问题
  • 回调函数onPacket客户端信息参数增加服务器来源端口server_port
  • 回调函数onReceiveconnection_info方法即将移除对UDP的支持,UDP端口使用这2个特性时会抛出E_DEPRECATED警告信息
  • 服务器连接迭代器Connection\Iterator增加ArrayAccess接口
  • 修复Server在进程管道缓存区塞满后连续发送大数据导致死锁的问题(重要问题)
  • 修复PHP7下启用opcache导致崩溃的问题
  • 修复taskWaitMulti在超时后无法返回执行成功任务结果的问题
  • 定时器使用MONOTONIC单调时间,解决系统时间修改导致定时器错乱的问题

连接ArrayAccess用法

  1. $serv->on('connect', function ($serv, $fd, $reactor_id){
  2. echo "IP Address: ".$serv->connections[$fd]['remote_ip']."\n";
  3. if (isset($serv->connections[6])) {
  4. echo "connection 6 is exists.\n";
  5. }
  6. });