智能终端及其网络底层配置方法

文档序号:9931142阅读:840来源:国知局
智能终端及其网络底层配置方法【
技术领域
】[0001]本发明涉及智能终端的组网技术,具体而言,本发明涉及一种智能终端及其网络底层配置方法。【
背景技术
】[0002]Android系统的智能终端,包括手机、平板电脑、行车记录仪、可佩戴的手表、眼镜等等,通常此类智能终端均配备有相应的遵守IEEE802.11协议规范的WiFi模组,装载相应的驱动,提供相应的接口供框架层以上的进程的调用。[0003]通常遵守802.11协议的啊?1模组均支持多种工作模式,例如1833,&11&86(1,八?,AP/VLAN,Monitor,meshpoint,P2P_Client,P2P_G0等模式,上述模式可实现不同的组网功能。其中,Managed也即俗知的Station(STA)即工作站模式,AP即俗称的访问接入点模式(AccessPoint);IBSS则是adhoc即直连模式,P2P即俗称的WiFiDirect技术,属于Wi-FiAlliance(Wi-Fi联盟)推出的一项重要技术规范。STA模式下,智能终端便成为一个工作站,可以接入一个处于AP模式下的终端。同理,P2P-Client相当于STA,可以接入一个相当于AP的P2P_G0(P2PGroupOwner)模式下的智能终端。可见,至少有IBSS和WiFiDirect两种体系可以实现将多台智能终端进行组网,同一部智能终端,基于同一WiFi模组,既可充当热点,还可充当站点。[0004]一种应用需求中,希望使同一智能终端的WiFi模组同时工作于站点和热点两种模式,这样便于在该智能终端利用其站点模式接入外网后,通过其热点模式向其他WiFi设备提供接入和网络共享服务。现实中,基于Windows或I0S的智能终端,能够善用WiFi模组提供的功能,使这种智能终端能够虚拟出两台设备,即站点设备和热点设备,在这个基础上,允许该智能终端一方面可以接入无线AP,另一方面可以充当AP供其他WiFi设备接入。[0005]然而Android智能终端却不具备这种功能。Andoid系统的功能实现中,并不具备向用户同时开放WiFi模组的热点和站点两种模式的能力。因而,实践应用中,当智能终端以站点模式利用WiFi接入公司局域网AP之后,希望将另一无显示界面的WiFi设备的数据读取并上传到云端,这样一种需求便会因为该智能终端不能同时开启其自身的热点模式(因其开启必然导致断网)和站点模式而不能被满足。同理,如用户利用智能终端以热点模式与第三方通信的过程中,需以站点模式接入某个局域网获取数据,显然也是做不到的。[0006]可见,基于Android的智能终端在实现热点与站点两种WiFi组网模式这一功能上是先天不足的,因此,可以看出,解决这一问题是对Android智能终端的组网条件进行高效利用的重要前提。[0007]上述问题适宜在WiFiP2P技术规范之下解决,可以考虑令Android的WiFi模组构造一个能以STA模式接入外部网站,同时又能以P2PG0模式提供给其他客户端接入实现网络扩展的框架。由此带来的问题是以P2P方式连接的客户端与服务端,因原本只考虑点对点连接的问题,故其彼此的路由均不会改变,而要实现客户端可以通过服务端连接外部网络,则需要使客户端能够合理地配置自身的路由设置,使得其可以服务端为网关去访问外网。【
发明内容】[0008]本发明的目的在于针对以上存在的至少一方面不足,提供一种智能终端及其网络底层配置方法。[0009]为了实现该目的,本发明采取如下技术方案:[0010]本发明提供的一种智能终端网络底层配置方法,包括如下步骤:[0011]调用WiFiP2pManager类构造热点;[0012]调用网络守护进程执行如下过程:[0013]开通连通热点模式与站点模式之间的网络连接的数据包转发功能,[0014]畅通热点模式与站点模式之间网络连接的数据包过滤表的设置内容,[0015]去除客户端共享上网限制解析DNS的选项。[0016]根据本发明的一个实施例所揭示,本方法工作于获取系统最高权限的环境中,由应用程序调用ndc命令执行对网络守护进程的调用。[0017]根据本发明的一个实施例所揭示,本方法工作于未获取系统最高权限的环境中,执行网络守护进程的ndc命令被预置于所述WiFiP2pManager类的代码文件中并被导出为该类的方法函数,以供本方法调用执行。[0018]根据本发明的一个实施例所揭示,本方法对网络守护进程执行独条指令顺序控制的操作。[0019]具体的,通过修改系统的iptables过滤表的规则实现所述数据包过滤表的设置内容的修正。[0020]进一步,对iptables过滤表的修正内容包括删除用于丢弃数据包的记录和添加一条将内网地址映射为公网地址的NAT记录。[0021]较佳的,通过关闭系统的用于向客户端反馈DHCP配置信息的配置进程,重新配置其参数,而去除客户端共享上网限制解析DNS选项。[0022]具体的,所述配置进程为Dnsmasq进程,所述选项为一no_resolv选项。[0023]进一步,所述网络守护进程为Andr〇id系统的NetD进程。[0024]较佳的,调用WiFiP2pManager类的createGroup方法用于实现所述的热点的构造。[0025]本发明提供的一种智能终端,其包括:[0026]建立单元,用于调用WiFiP2pManager类构造热点;[0027]配置单元,用于调用网络守护进程执行如下过程:[0028]开通连通热点模式与站点模式之间的网络连接的数据包转发功能,[0029]畅通热点模式与站点模式之间网络连接的数据包过滤表的设置内容,[0030]去除客户端共享上网限制解析DNS的选项。[0031]根据本发明的一个实施例所揭示,本智能终端工作于获取系统最高权限的环境中,由应用程序调用ndc命令执行对网络守护进程的调用。[0032]根据本发明的一个实施例所揭示,本智能终端工作于未获取系统最高权限的环境中,执行网络守护进程的ndc命令被预置于所述WiFiP2pManager类的代码文件中并被导出为该类的方法函数,以供本方法调用执行。[0033]根据本发明的一个实施例所揭示,本智能终端对网络守护进程执行独条指令顺序控制的操作。[0034]进一步,所述配置单元通过修改系统的iptables过滤表的规则实现所述数据包过滤表的设置内容的修正。[0035]具体的,所述配置单元对iptables过滤表的修正内容包括删除用于丢弃数据包的记录和添加一条将内网地址映射为公网地址的NAT记录。[0036]较佳的,所述配置单元通过关闭系统的用于向客户端反馈DHCP配置信息的配置进程,重新配置其参数,而去除客户端共享上网限制解析DNS选项。[0037]具体的,所述配置进程为Dnsmasq进程,所述选项为一no_resolv选项。[0038]进一步,所述网络守护进程为Android系统的NetD进程。[0039]具体的,所述建立单元调用WiFiP2pManager类的createGroup方法用于实现所述的热点的构造。[0040]与现有技术相比较,本发明至少具有如下优点:[0041]本发明充分利用Android系统提供的特性,首先调用WiFiP2pManager依照WiFiP2P协议的规范建立基于P2PG0(P2PGroupOwner)的网络群组,将智能终端打造成无线热点,使其能够工作于热点模式,可与本已处于站点模式共同工作,突破Android系统无法自行同时开放热点模式和站点模式两种模式的局限。在此基础上,本发明进一步利用系统最高权限,通过Android系统提供的机制,驱动网络守护进程去修改网络配置信息,确保这种修改使作为服务端的本智能终端能够对接入其热点模式的客户端提供外部网络连接,使得客户端能够借助与网络群组所有者即服务端的连接,来经由服务端的站点模式实现外网访问,从而解决了网络共享的问题。最终,即使不依赖于运营商提供的移动网络,只要服务端能在站点模式接入外网,那么,所述的客户端便能利用服务端的热点模式进行外网共享。[0042]概括而言,本发明的实施,解决了WiFiP2P协议下,客户端与服务端之间的路由配置问题,使得客户端可以经由服务端访问外网。然而,书不尽言,本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。【附图说明】[0043]本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:[0044]图1为本发明的智能终端网络底层配置方法的流程示意图;[0045]图2为本发明的智能终端的结构示意图。【具体实施方式】[0046]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。[0047]本
技术领域
技术人员可以理解,除非特意声明,这里使用的单数形式"一"、"一个"、"所述"和"该"也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞"包括"是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被"连接"或"耦接"到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的"连接"或"親接"可以包括无线连接或无线耦接。这里使用的措辞"和/或"包括一个或更多个相关联的列出项的全部或任一单元和全部组合。[0048]本
技术领域
技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。[0049]本
技术领域
技术人员可以理解,这里所使用的"终端"、"终端设备"既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunicationsService,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(PersonalDigitalAssistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(GlobalPositioningSystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的"终端"、"终端设备"可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的"终端"、"终端设备"还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(MobileInternetDevice,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。[0050]本发明的实现,适于为Android提供并安装一个应用程序,由其启动,在获取系统最高权限或者系统开放最高权限的情况下,而向系统提供交互功能,实现本方法所需的控制。[0051]如图1所示,本发明的一种智能终端网络底层配置方法,包括如下步骤S11-S12。而出于对本发明的具体应用,后续还将揭示步骤S13,也均已在图1中给出示例。[0052]步骤S11、调用WiFiP2pManager类构造热点。[0053]理论上可以通过Android系统的热点进程Hostapd来建立所述的热点模式,但是,实测中,hostapd进程启动时,会自动关闭站点进程,导致智能终端无法同时工作于热点模式和站点模式之下,因而,转而采用自行建立网络群组的方式,可以有效避免这一故障的发生。[0054]根据WiFiP2P协议的规范,可以使多个智能终端组在一个网络群组,在该网络群组中,有且只有一个服务端角色,余者为客户端角色。所述的服务端与客户端两种角色,在本发明中,主要相对于以WiFiP2P协议所规范的两部智能终端而言,其中,作为客户端的智能终端的芯片模组工作于该协议所规范的P2P-Client模式下,即表现为客户端角色;而与之相对的本发明的智能终端则工作于该协议所规范的P2P_Group0wner(P2PG0)模式下,即表现为服务端角色。[0055]Android系统中,封装了一个点对点连接管理类,即WiFiP2pManager,顾名思义,该类即用于依照WiFiP2P协议的规范来管理Android终端之间的点对点连接。该类构造了一个用于建立所述的网络群组的方法函数,具体引用形式为WiFiP2pManager.createGroup(wifip2pmanger?chanenl,wifip2pmanager?ActionListener),调用该方法,可以创建一个热点,使智能终端启动热点模式,并且将自身设置为服务端,由此创建的热点还可以供不支持WiFiP2P协议的传统WiFi设备与之连接。由此形成的网络群组,可以使用该类的另一方法函数:requestConnectionInfo(wifip2pmanger.chanenl,¥1;1^口2口1]^1^861'.4〇1:;[0111^8丨61161')去得到详细的连接信息。这个¥1;1^口2口111;1!'0连接信息包含了拥有组者也即服务端的地址groupOwnerAddress和一个去说明当前设备是否是这个p2p组的拥有者的标志isGroupOwer,一个p2p的客户端因此可以和p2p组拥有者通过一个socket连接进行通信。[0056]Android操作系统默认情况下,并不允许同一智能终端的WiFi芯片模组同时工作于客户端和服务端两种模式下,但是,通过自行创建所述当前第1页1 2 3 4 5 6 
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1