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

文档序号:9923920阅读:来源:国知局
接驱动网络守护进行实施网络共享配置信 息的修改的操作将不能成功。因此,需要另辟暧径。
[0276] -种改进的方式是将W上WNDC表达的代码封装成一个方法函数(配置接口),对 WiFiPSpManager类的开源代码文件即Wif iPSpServiceImpl . java进行修改,由于 Wif iP化ServiceImpl. java可W直接通过mNwService导出的函数实现那些ndc命令,因在, 可在里面增加该方法函数,并且导出给WiFiP化Manager类使用,运样,本发明的应用程序只 需直接通过WiFiP2pManager类调用该配置接口,即可实施对网络共享配置信息的修改,而 无需借助系统最高权限的获取。
[0277] 由此可见,借助ndc命令控制所述网络守护进程W修改网络共享配置参数的方式 也是多样化的。
[0278] 通过实施上述的多种控制方式,均可使服务端的热点模式和站点模式之间的网络 连接互相连通,路由的问题随之有解。
[0279] 步骤S13、在客户端接入所述网络群组后,建立该客户端与由所述站点模式所维持 的外网的连接。
[0280] 客户端接入服务端提供的网络群组之后,将向服务端发送DHCP请求,服务端的配 置进程读取经上述修改之后的正确的网络共享配置信息,反馈给客户端。客户端据此完成 自身的网络设置后,便可经作为服务端本发明智能终端的热点接口、站点接口而访问外网。 对于本智能终端而言,当其接收客户端访问外网的数据包时,将该数据包转发经所述站点 模式的路径传输给所述的外网;当其接收外网访问客户端的数据包时,将其转发经所述热 点模式的路径传输给该客户端。
[0281] 进一步的,为完善本发明的应用程序进程的功能,可W增加后续步骤:该步骤响应 于退出共享上网的用户指令,恢复所述的网络共享配置信息。
[0282] 具体而言,本发明的应用程序可W参照前述的方式,向用户界面提供一个共享上 网的控制按键,如沿用上述已经提供到用户界面的控制按键的一个复选控制操作也可。当 该控制按键被触发时,便产生所述的用户指令,受该用户指令的作用,本发明便可实施断开 所述的热点模式,由此便自动断开外部连接。
[0283] 进一步,可W采用更为彻底的方式,先行对前述处理过程产生的网络共享配置信 息进行清理,例如,参阅W下的ndc指令:
[0284] ndc ipfwd disable//关闭数据包转发功能 [02化]ndc tether stop//停止上网共享功能
[02化]ndc nat disable P化OwlanO 0//关闭NAT映射功能
[0287] 通过本发明的应用程序进程执行上述的命令,便可通过SOCKET端口控制网络守护 进程执行相应的功能,从而避免前述的对网络共享配置信息对本机使用所带来的潜在的影 响。可W知晓,在本发明的应用程序进程中直接调用上述的命令控制所述的网络守护进程 的前提是已经获取系统的最高权限。
[0288] 同理,根据上述构造方法函数并将其植入到WiFiP2pManager中的示例可知,此处 的清理代码完全可W同样的方法被构造为方法函数(清退接口),添加到WiFiP2pManager类 的代码文件中,导出为该类的相应的成员函数,后续直接由本发明的应用程序进程调用该 清退接口即可执行,而不必考虑当前是否已经获得系统ROOT权限。
[0289] 综上所述,本发明的方法解决了 Amlroid智能终端同时开启热点模式和站点模式 的技术难题,并且允许接入其热点模式下的网络群组的客户端经由其站点模式相对应的外 网接口访问外网。
[0290] 根据计算机软件的模块化思维,本发明还提供一种智能终端,该智能终端包括建 立单元11、配置单元12 W及通信单元13,W下介绍各个单元所实现的具体功能:
[0291] 所述的建立单元11,用于建立符合WiFi P2P规范的网络群组W完成本智能终端的 热点模式的启动,使其与本智能终端的站点模式并存工作。
[0292] 理论上可W通过An化O i d系统的热点进程化Stapd来建立所述的热点模式,但是, 实测中,hostapd进程启动时,会自动关闭站点进程,导致智能终端无法同时工作于热点模 式和站点模式之下,因而,转而采用自行建立网络群组的方式,可W有效避免运一故障的发 生。
[0293] 根据WiFi P2P协议的规范,可W使多个智能终端组在一个网络群组,在该网络群 组中,有且只有一个服务端角色,余者为客户端角色。所述的服务端与客户端两种角色,在 本发明中,主要相对于WWiFi P2P协议所规范的两部智能终端而言,其中,作为客户端的智 能终端的忍片模组工作于该协议所规范的P2P-Client模式下,即表现为客户端角色;而与 之相对的本发明的智能终端则工作于该协议所规范的PSP-Group 0wne;r(P2P GO)模式下, 即表现为服务端角色。
[0294] Amlroid系统中,封装了一个点对点连接管理类,即WiFiP2pManager,顾名思义,该 类即用于依照WiFi P2P协议的规范来管理Amlroid终端之间的点对点连接。该类构造了一 个用于建立所述的网络群组的方法函数,具体引用形式为WiFiPSpManager. createGroup (wifip2pmanger. chanenl ,wifip2pmanager. ActionListener),调用该方法,可从仓。建一个 热点,使智能终端启动热点模式,并且将自身设置为服务端,由此创建的热点还可W供不支 持WiFi P2P协议的传统WiFi设备与之连接。由此形成的网络群组,可W使用该类的另一方 法函数:requestConnectionInfo(wifip2pman 邑 er. chanenl , wif ip化manager .Act ionLi Stener)去得到详细的连接信息。运个wif ip化Info连接信息包 含了拥有组者也即服务端的地址gro叫OwnerAcWress和一个去说明当前设备是否是运个 p2p组的拥有者的标志isGroupOwer,一个p2p的客户端因此可W和p2p组拥有者通过一个 socket连接进行通信。
[0巧日]Android操作系统默认情况下,并不允许同一智能终端的WiFi忍片模组同时工作 于客户端和服务端两种模式下,但是,通过自行创建所述的网络群组却可解决运一问题,其 中Cr eat eGroup ()函数的调用起到关键的作用,其完成了本智能终端的热点模式的启动。
[0296] 由于本发明重点是希望解决让客户端通过服务端所在的智能设备的WiFi功能访 问外网的网络配置问题。在不考虑客户端自行连接外网的前提下,本智能终端能够访问外 网,是接入本网络群组的客户端访问外网的前提。因此,较佳的方式中,是使本智能终端在 完成上述热点模式的启动之前,便已启动了站点模式。
[0297] 欲启动Amlroid系统的站点模式,可W通过用户在系统设置页上手动开启或通过 系统的站点进程来建立。所述站点进程,特指Andro i d系统自身提供的wpa_supp 1 i can t进 程,wpa_supplicant本是开源项目源码,被谷歌修改后加入an化oid移动平台,主要是用来 支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,而实际上的工作内容是通过socket (不 管是wpa_supplicant与上层还是wpa_suppli cant与驱动都采用socket通讯)与驱动交互上 报数据给用户,用户可W通过socket发送命令给wpa_supplicant调动驱动来对WiFi忍片操 作。简单的说,wpa_supp 1 i cant就是WiF巧区动和用户的中转站外加对协议和加密认证的支 持。经过编译后的wpa_supplicant源程序可W看到两个主要的可执行工具:wpa_ supplicant和wpa_cli ewpa_suppli cant是核屯、程序,它和wpa_c Ii的关系就是服务和客户 端的关系:后台运行wpa_supp 1 i cant,使用wpa_c 1 i来捜索、设置、和连接网络。
[0298] W下提供一个利用wpa_cli来完成网络连接的示例供本领域技术人员参照理解本 发明,但不应理解为对本发明的实现的限制。
[0299] 要实现网络连接功能,首先需要运行wpa_supplicant程序W加载基本功能;
[0300] 执行;/sy stem/bin/wpa_suppl i cant-d-Dwext-iwlanO-c/data/mi sc/wif i/wpa_ supplic曰nt.conf
[0301] 其中;
[0302] -d:增加调试信息
[0303] -Dwext :wext,驱动名称
[0304] -iwlanO: WlanO,网络接 口名称
[03 化]/sy S tem/b in/wpa_supp 1 i cant: wpa_supp 1 i cant,可执行程序路径
[0306] /(1日1:日/11113。/\¥1門/町)日_311卵1;[。日]11:.。0址:町)日_311卵1;[。日]11:的配置文件路径
[0307] 然后,运行命令行工具wpa_cli;
[0308] 执行;wpa_cli-iwlan〇-p/data/system/wpa_supplicant
[0309] 注意,_9/(1日1:日/37316111/可)日_3啡91;[。日]11:中的可)日_3啡91;[。日]11:并不是可执行程序, 而是个控制套接字。
[0310] 此时会进入交互模式。其中交互模式的命令如下表:
[0311] 化11 command
[0312] Sho;rt command
[0313] Description
[0314] status
[0315] Stat
[0316] displays the current co打打ectio打 status
[0317] disconnect [031 引 disc
[0319] prevents wpa_supplicant from connecting to any access point
[0320] quit
[0321] q
[0322] exits wpa_cli
[0323] terminate
[0324] term
[032己] kills wpa_supplicant
[0326] reconfigure
[0327] recon
[032引 reloads wpa_supplicant with the configuration file supplied(-c parameter)
[0329] scan
[0330] scan
[0331] sea打S for available access poi打ts(o打Iy scans it,doesn't display anything)
[0332] scan_result
[0333] scan_r
[0334] displays the results of the last scan
[033引 list_networks
[0336] list_n
[0337] displays a list of configured networks and their status(active or not,enabled or disabled)
[0338] select_network
[0339] select_n
[0340] select a network among those defined to initiate a connection(ie select-network 0)
[0341 ] enable_network
[0342] enable_n
[0343] makes a configured network available for selection(ie enable-network 0)
[0344] disable_network
[0345] disable_n
[0346] makes a configured network unavailable for selection(ie disable_ network 0)
[0347] r emo ve_ne twork
[034引 remove_n
[0349] removes a network and its configuration from the list(ie remove_ network 0)
[0350] add_ne twork
[0:3日 1] add_n
[03日2] adds a new network to the list.Its id will be created automatically
[03 己3] set_network
[0 巧 4] set_n
[03日日] shows a very short list of available options to configure a network when supplied with no parameters.
[03日6] See next section for a list of extremely useful parameters to be used with set_network and get_network.
[03己7 ] get_network
[0:3 日引 get_n
[03己9] displays the required parameter for the specified network.See next section for a list of parameters [0360] save_config
[0361 ] save_c
[0362] saves the configuration
[0363] W上命令项可^从六〇虹〇1(1的公开技术文档中查看,此处仅供参考。
[0364] 设置网络的基本格式的指令为:set_network<network idXkey〉<parameter〉[〈 parameter〉]
[0365] 显示网络信息的基本格式的指令为:get_network<network idXkey〉
[0366] 相应的参数如下表:
[0367] Key
[0368] Description
[0369] Parameters
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1