• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

flutter 网络监测

武飞扬头像
花心小人参
帮助1

使用flutter控件dart_ping实现,可以监测到网速较差或网络断开的情况;

要在 iOS 上使用 dart_ping,请将dart_ping_ios包添加为依赖项并在初始化 Ping 之前注册 iOS 插件。

dart_ping_ios控件地址:https://pub.dev/packages/dart_ping_ios

dart_ping控件地址:https://pub.dev/packages/dart_ping

1.下载插件

1在配置文件pubbspec.yaml中添加以下代码,注意版本选择目前flutterSDK支持的版本;然后运行flutter pub get同步插件;

  1.  
    dart_ping_ios: ^1.0.0
  2.  
    dart_ping: ^6.1.0

2.注册 iOS控件dart_ping_ios

如果不需要支持ios设备可跳过此步

一定要在 dart_ping初始化前注册它;

  1.  
    //在dart_ping初始化前添加此行代码
  2.  
    DartPingIOS.register();

3.使用dart_ping

  1.  
    /*1.初始化*/
  2.  
    final ping = Ping(
  3.  
    /*必传参数*/
  4.  
    '百度.com',//参数1:host
  5.  
    /*可选参数*/
  6.  
    count: 50,//参数2:需要ping的次数,默认无限次
  7.  
    interval: 1,//参数3:每几秒ping一次,默认1次
  8.  
    );
  9.  
    //timeout: 2,//参数4:几秒超时,默认2秒
  10.  
    //ttl: 255,//参数5:可ping的路由器数量,默认255个
  11.  
    //ipv6: false,//参数6:是否ipv6,默认false
  12.  
    //PingParser? parser,//参数7:解析器,默认不传
  13.  
    //Encoding encoding = const Utf8Codec(),//参数7:编码,默认Utf8
  14.  
     
  15.  
    /*2.开始监测网络延迟状态*/
  16.  
    ping.stream.listen((event) {
  17.  
    debugPrint('输出监测到的网络状态信息===========$event');
  18.  
    //输出数据内容-->网络正常
  19.  
    //PingResponse(seq:1,ttl:54,time:38.112 ms)
  20.  
    //seq已经ping的次数
  21.  
    //ttl路由器数量
  22.  
    //time延迟的毫秒数
  23.  
    //输出数据内容-->网络较差或网络断开
  24.  
    //PingResonse(response:PingResponse(seq:1),error:RequestTimedOut)
  25.  
    if (event.error != null) {
  26.  
    print("网络较差或网络断开")
  27.  
    }
  28.  
     
  29.  
    /*3.停止监听*/
  30.  
    //建议在app销毁时停止ping进程
  31.  
    //ping.stop();
  32.  
    });
学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgjefec
系列文章
更多 icon
同类精品
更多 icon
继续加载