• iOS如何监听弱网?


    场景:

    iOS中我们可能经常用到监听网络,不过大部分是监听网络的类型,即2G/3G/4G WIFI,是否连接网络,然而测试人员对APP进行测试时候经常会有一个弱网测试,即在弱网环境下对APP进行测试,这个时候APP会出现各种问题,比如接口请求不到数据等问题,那么我们有没有办法像监听网络一样去监听弱网呢?

    弱网测试:我们的经常用的抓包工具Charles就可以简易的模拟弱网环境,而我们的真机也可以在调试时候模拟弱网

    设置-->开发者-->Status-->Enable打开,然后选择下面的每个选项,就可以模拟弱网了

    思考1:

    网上查了资料并没有直接监听弱网的资料,那么有什么其他办法可以做到这一点呢?

    这个时候我想到了终端的ping命令,对一个baidu.com的ping结果如下:

    那么能不能在iPhone上去ping我们的服务器,通过ping的结果去判断我们的网络环境呢?不多说,尝试一下。

    Apple提供了一个系统的ping库,有兴趣的可以去看

    https://developer.apple.com/library/content/samplecode/SimplePing/Listings/Common_SimplePing_m.html#//apple_ref/doc/uid/DTS10000716-Common_SimplePing_m-DontLinkElementID_4

    我偷懒网上找了一个封装好的三方库STSimplePing,加入工程后进行测试结果如下:

    正常网络情况下:

    将弱网模拟调至100% lose结果如下:

    结果都能收集到,若通过Ping判断网络方案合理的话,那么我们可以通过时间和丢包率来判断网络情况

    思考2:

    参考文档:http://www.cocoachina.com/ios/20160224/15407.html

    分析了ReallyReachaAbility监控的原理,ReachaAbility监控网络状态的变化,ping判断网络是否真实连接及状态,通过定时器时时判断网络状态及真实的网络连接情况

  • 相关阅读:
    30130413 腾讯笔试
    未来网络 SDN
    XAML实例教程系列 XAML传递参数到值转换类实例
    【转】Silverlight MVVM 贴近实战(一)
    XAML实例教程系列 依赖属性和附加属性
    Silverlight开发工具汇总
    XAML实例教程系列 类型转换器(Type Converter)
    XAML实例教程系列 标记扩展(Markup Extensions)
    XAML实例教程系列 事件(Event)
    [转]XAML实例教程系列 命名空间(NameSpace)
  • 原文地址:https://www.cnblogs.com/liuluoxing/p/5900767.html
Copyright © 2020-2023  润新知