【问题标题】:What is connectTimeout parameter in dio flutterdio颤动中的connectTimeout参数是什么
【发布时间】:2021-01-19 17:40:58
【问题描述】:

我正在使用 DIO 包here。我的问题是我无法清楚地理解 dio 选项中的“connectTimeout”参数是什么。一开始我以为是没有网络连接的时候,它会在规定时间内尝试连接API。

文档是这样说的:

/// 打开网址的超时时间(以毫秒为单位)。 /// [Dio] 将抛出 [DioError] 与 [DioErrorType.CONNECT_TIMEOUT] 类型 /// 时 超时。

我通过在禁用互联网的情况下调用下面的脚本来测试我的假设

    Dio dio = new Dio();
    Response response;

    dio.options.connectTimeout = 50000;
    dio.options.receiveTimeout = 30000;
    dio.options.sendTimeout = 30000;

    response = await dio
        .get(GeneralStringUtil.someGetAPI);

我的日志中立即出现以下异常:

DioError [DioErrorType.DEFAULT]:SocketException:主机查找失败:xyz.com

所以我的假设是错误的。这个“connectTimeout”参数是什么?

【问题讨论】:

    标签: flutter dio


    【解决方案1】:

    您设置了 50000 miliSeconds 的限制,因此如果在此时间段内无法连接到服务器,dio 将尝试 50000 miliSeconds 的 http 调用,它们将显示异常,您增加的时间越长 dio 将尝试连接

    【讨论】:

    • 所以它在服务器前面等待的连接时间没有重新连接到它,例如,如果服务器上有负载并且它把我的连接搁置,它会等待给定的时间对吗?跨度>
    猜你喜欢
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-14
    • 1970-01-01
    相关资源
    最近更新 更多