协程客户端超时规则

在Swoole版本>=4.2.10生效

为了统一各个客户端混乱的超时规则, 避免开发者需要处处谨慎设置, 从4.2.10版本开始所有协程客户端统一超时规则如下:

全局Socket超时配置项

以下配置项可通过Co::set方法配置, 如

Co::set([
    'socket_connect_timeout' => 1,
    'socket_timeout' => 5
]);
  • socket_connect_timeout, 建立socket连接超时时间, 默认为1(秒)

  • socket_timeout, socket读写操作超时时间, 默认为-1, 即永不超时

即: 所有协程客户端默认连接超时时间为1s, 其他读写操作若未指定超时时间则永不超时

超时时间设置规则

  • -1: 永不超时
  • 0: 不更改超时时间
  • 其它大于0的值: 设置相应秒数的超时定时器, 最大精度为1毫秒

生效范围

  • Co::set => 全局
  • 通过set等方法设置的 => 被设置的客户端
  • 读写方法的函数传参 => 方法调用的读写操作

注意

文档中旧有的, 与此有出入的超时时间设定规则, 皆以此规则为准