首页> 中国专利> 一种时间可控的IOS内网可达性检测系统与方法

一种时间可控的IOS内网可达性检测系统与方法

摘要

本发明公开了一种时间可控的IOS内网可达性检测系统与方法,所述的IOS内网可达性检测系统包括参数设置模块、事件监听模块、发起连接模块、结果分析模块。所述的方法首先设置可达性检测的参数,其次监听网络状态变化的广播,再发起对目标主机的连接,最后分析发起连接返回的信息,得出网络连接的具体状态。本发明综合利用Reachability库能够接收系统中网络事件广播的优势,和C语言中Socket异步连接的时间参数可控的特征,既保证了检测的准确性,又提升了检测的时效性。

著录项

  • 公开/公告号CN104244290A

    专利类型发明专利

  • 公开/公告日2014-12-24

    原文格式PDF

  • 申请/专利权人 昆明钢铁集团有限责任公司;

    申请/专利号CN201410502275.5

  • 发明设计人 李杰;侯文彪;

    申请日2014-09-27

  • 分类号H04W24/02(20090101);

  • 代理机构昆明知道专利事务所(特殊普通合伙企业);

  • 代理人姜开侠

  • 地址 650300 云南省昆明市安宁市郎家庄昆钢科技创新部

  • 入库时间 2023-12-18 08:15:34

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-04-17

    授权

    授权

  • 2015-01-14

    实质审查的生效 IPC(主分类):H04W24/02 申请日:20140927

    实质审查的生效

  • 2014-12-24

    公开

    公开

说明书

技术领域

本发明属于移动互联网技术领域,具体涉及一种时间可控的IOS内网可达性检测系统与方法。

背景技术

随着智能终端设备的普及与应用推广,越来越多的企业员工使用移动终端进行办公和内部交流,由此,移动终端与企业内网的数据交互也就越来越多。目前,IOS系统上的应用程序对于内网可达性几乎都是使用SDK中自带的Reachability库,该库中提供的函数可以根据输入的目标域名和IP判断判断网络连接状况,以及是否是WIFI或3G网络等信息,另外,当网络状态发生变化时,还可以接收到系统广播。然而该方法适用于具体应用中时,会出现检测网络无法连通的时间过长,测试结果基本为15秒左右,这段时间内,用户常常以为网络是可达的,做出具体操作之后并未发生与内网机器的实际交互,则可能造成数据的丢包与操作的遗漏,影响办公效率,甚至可能发生技术事故,影响企业生产的效能。因此,开发一种基于IOS的响应时间可控的内网可达性检测系统是非常必要的。

发明内容

本发明的第一目的在于提供一种时间可控的IOS内网可达性检测系统;第二目的在于提供所述时间可控的IOS内网可达性检测系统的使用方法。

本发明的第一目的是这样实现的,包括参数设置模块、事件监听模块、发起连接模块、结果分析模块,其中:

参数设置模块:用于设置可达性检测的相关参数;

事件监听模块:用于监听网络状态变化的广播;

发起连接模块:用于建立socket,并发起对目标主机的连接;

结果分析模块:用于分析事件监听模块中的广播和发起连接返回的信息,得出网络连接的具体状态。

本发明的第二目的是这样实现的,包括以下步骤:

A、参数设置模块初始化待定参数,并通过人机交互或程序赋值的方式,将具体参数数值传递到待定参数中;

B、事件监听模块不间断地监听网络状态变化事件,一旦接收到关注事件的广播,则调用发起连接模块;

C、发起连接模块创建非阻塞模式的socket,并通过connect函数连接参数设置中企业内部网的目标机,最后根据参数设置模块中的返回时间参数,使用select函数检测是否socket处于何种状态;

D、分析事件监听模块中的广播类型和socket的返回状态代码,获得网络可达性结果。

本发明克服了IOS的SDK中Reachability库检测内网可达性时间过长的问题,本发明利用objective-c可混合编程,并支持完整C语言Socket的特性,综合利用Reachability库能够接收系统中网络事件广播的优势,和C语言中Socket异步连接的时间参数可控的特征,既保证了检测的准确性,又提升了检测的时效性。

附图说明

图1为本发明时间可控的IOS内网可达性检测系统示意图;

图2为本发明时间可控的IOS内网可达性检测系统流程示意图。

具体实施方式

下面结合附图对本发明作进一步的说明,但不以任何方式对本发明加以限制,基于本发明教导所作的任何变换或替换,均属于本发明的保护范围。

本发明所述时间可控的IOS内网可达性检测系统,包括参数设置模块、事件监听模块、发起连接模块、结果分析模块,其中:

参数设置模块:用于设置可达性检测的参数;

事件监听模块:用于监听网络状态变化的广播;

发起连接模块:用于建立socket,并发起对目标主机的连接;

结果分析模块:用于分析事件监听模块中的广播和发起连接返回的信息,得出网络连接的具体状态。

参数设置模块中所述的参数包括目标域名或地址、网关地址和等待时间。

参数设置模块中所述的等待时间设置为5秒。

事件监听模块中所述的网络状态变化的广播包括,无网状态和有网状态的切换广播,wifi信号和3G信号的切换广播。

发起连接模块中所述的socket为异步方式创建,其创建参数从参数设置模块中获取。

结果分析模块中所述的网络连接的具体状态包括wifi网络可达,3G网络可达和不可达三种状态。

本发明所述的基于IOS的内网可达性检测系统的使用方法,包括以下步骤:

A、参数设置模块初始化待定参数,并通过人机交互或程序赋值的方式,将具体参数数值传递到待定参数中;

B、事件监听模块不间断地监听网络状态变化事件,一旦接收到关注事件的广播,则调用发起连接模块;

C、发起连接模块创建非阻塞模式的socket,并通过connect函数连接参数设置中企业内部网的目标机,最后根据参数设置模块中的返回时间参数,使用select函数检测是否socket处于何种状态;

D、分析事件监听模块中的广播类型和socket的返回状态代码,获得网络可达性结果。

本发明克服SDK中Reachability库对于内网可达性测试时间过长的问题,提供了一种准确性高,时效性强的内网可达性测试系统,该系统利用object-c的混合编程机制,综合利用Reachability库和socket类的优势,在Reachability库准确判断网络状态变化事件的同时,异步建立socket,尝试与远程目标进行连接,在规定的时间内返回连接结果,最后综合分析网络状态变化事件和连接返回结果,得到内网可达性的检测结果,为应用层的网络交互与通信提供前置性的检测,尽量降低应用软件在内网服务中的无效操作。

本发明所述的方法首先设置模块初始化待定参数,这些参数包括目标域名或地址,网关地址和等待时间等,为后续的方法步骤提供参数指导;其次,注册监听Reachability库中wifi和3g网络可达性事件,通过网络变化时的回调函数检测当前网络是否处于联网状态,如标识网络可达此时存在2种可能性:一网络处于连通状态,但不在企业内网环境,二网络处于连通状态,并同时处于企业内网环境;再次,建立socket准备发起对目标主机的连接,设置该socket为非阻塞模式,若socket为阻塞模式,socket在调用connect函数且无法立即建立连接时,connect函数会出现无限期的阻滞状态,这在移动网络变化的状态下无法准确获得结果,若socket为非阻塞模式,connect函数在无法立即建立连接时则会以一种异步的方式创建socket连接;最后,通过connect函数连接企业内部网络,用select函数检测是否socket处在一个准备完成的状态,包括读状态和写状态或异常状态,使用select的特点在于,它接收一个时间结构参数,该时间结构可以精确到微秒,用来控制select完成操作的最大时间量,即可控制等待时间。另外,本发明为了平衡用户等待时间接受度和网络可达性容忍度,select的时间参数默认设定为5秒,意味着用户最多在内部网络可达性失效5秒后即可获得通知,这种通知是实时的,也符合移动网络应用的一般特点。

本发明特点:

A.系统中使用Reachability库,能够及时准确地接收到网络事件广播,为可达性检测做好准备。

B.系统中利用C语言Socket的特性,在select函数中设置等待时间值,保证系统在可控时间内获取到检测结果。

C.本发明平衡用户等待时间接受度和网络可达性容忍度两者的关系,将select中的时间参数默认设定为5秒。

如图2所示,该图表明系统工作流程及实现处理方法,具体实现方法如下:

1、初始化目标域名或地址,网关地址和等待时间等系统参数;

2、网络可达性事件的注册监听;

3、若监听到关注的网络事件,则发起内网连接尝试;

4、获取连接结果并进行分析;

若连接成功,则表明内网可达,若连接失败,则表明内网不可达。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号