本发明涉及无线通信领域,尤其涉及一种基于无线局域网的通信方法及装置。
背景技术:
随着互联网和移动通信技术发展迅速,人们的工作、生活方式发生了巨大变化,通常通过网络共享分享各种各样的信息。但是,目前的终端分享数据的方法是存在很多不便的。
例如申请号为201210049749.6的中国发明专利申请中,公开了一种数据的主动暴露资源,等待其它终端索取的方法。共享源终端主动开启无线接入点将自己作为ap(wirelessaccesspoint,无线接入点),以“广播”的形式通知其它终端自己共享了哪些数据。其他终端想获取数据的话,需要在与ap相连后,自己去获取。但是与资源池相连的各个终端之间,在不改变现有网络拓扑的情况下是无法互访数据的。例如,资源池a分享数据后,终端b和c需要获取时,和a连接即可;但是b和c之间无法互访数据。若b要索取c的数据,此时c需要按照同样的方式重新将c设置为无线接入点,等待b连接后索取。
再例如,一种基于wifi网络的点对点数据传输的快牙软件,用于实现终端之间的数据传输。但是该软件需要将其中的一个终端设置为ap。而用作无线接入点的终端必须要安装该软件,才可以向与之连接的其他终端分发数据。但是该软件只适用于智能终端,对于路由器而言,由于固件是无法安装该软件的。因此,终端之间还是无法传递直接互传文件。
基于上述可知,有必要提供一种基于现有的网络结构,实现终端之间直接网络连接的方法。
技术实现要素:
本发明提供了一种基于无线局域网的通信方法及装置,用以解决现有技术中基于现有的网络结构,无法实现终端之间直接网络连接的问题。
为实现上述发明目的,本发明采用下述的技术方案:
依据本发明的一个方面,提供一种基于无线局域网的通信方法,包括:
终端与无线接入点设备建立连接后,获取与无线接入点设备相连的其他终端的设备信息;
从所述其他终端中选取一个终端作为备用无线接入点设备;
当检测到与所述无线接入点设备连接失败后,与所述备用无线接入点设备建立网络连接。
进一步地,所述获取与无线接入点设备相连的其他终端的设备信息,包括:
向所述其他终端发送连接请求;
当接收到所述其他终端中的某个终端响应时,将该终端的设备信息进行保存。
进一步地,向所述其他终端发送连接请求,包括:
对所属网段内的ip地址进行遍历,并向除本身所属ip地址外的其他ip地址对应的终端发送连接请求。
进一步地,当接收到所述其他终端中的某个终端响应时,将该终端的设备信息进行保存,包括:
当某一ip地址对应的终端有响应时,获取该终端发送的设备名称;
将该ip地址以及所述设备名称作为设备信息保存至本地通信录中。
进一步地,所述从所述其他终端中选取一个终端作为备用无线接入点设备,具体包括:
根据所述其他终端的ip地址的大小或者网络信号的强度从所述其他终端选取所述备用无线接入点设备。
进一步地,所述方法还包括:
终端记录所述无线接入点设备的服务集标识ssid;
当与无线接入点设备连接失败后,判断自身是否为备用无线接入点设备:
若为备用无线接入点设备,则开启无线接入点,并将所述无线接入点的ssid修改为记录的ssid;否则,根据记录的ssid连接备用无线接入点设备。
依据本发明的另一方面,提供一种基于无线局域网的通信装置,包括:
获取模块,用于与无线接入点设备建立连接后,获取与无线接入点设备相连的其他终端的设备信息;
选取模块,用于从所述其他终端中选取一个终端作为备用无线接入点设备;
连接模块,用于当检测到与所述无线接入点设备连接失败后,与所述备用无线接入点设备建立网络连接。
进一步地,所述获取模块包括:
发送单元,用于向所述其他终端发送连接请求;
接收单元,用于接收所述其他终端中的某个终端响应;
存储单元,用于当所述接收单元接收某个终端响应时,将所述终端的设备信息进行保存。
进一步地,所述发送单元具体用于,对所属网段内的ip地址进行遍历,并向除本身所属ip地址外的其他ip地址对应的终端发送连接请求。
进一步地,所述存储单元具体用于:
当某一ip地址对应的终端有响应时,获取该终端发送的设备名称;
将该ip地址以及所述设备名称作为设备信息保存至本地通信录中。
进一步地,所述选取模块具体用于,根据所述其他终端的ip地址的大小或者网络信号的强度从所述其他终端选取所述备用无线接入点设备。
进一步地,所述装置还包括:
记录模块,用于记录所述无线接入点设备的服务集标识ssid;
判断模块,用于当与无线接入点设备连接失败后,判断自身是否为备用无线接入点设备:若为备用无线接入点设备,则开启无线接入点,并将所述无线接入点的ssid修改为记录的ssid;否则,根据记录的ssid连接备用无线接入点设备。
本发明的有益效果如下:
本发明所提供的基于无线局域网的通信方法及装置,在终端通过无线接入点设备建立连接后,可以获取同一无线局域网内的其他终端的设备信息;并从其他终端中选取一个终端作为备用无线接入点;若当前无线接入点无法提供网络服务时,与备用无线接入点重新组建无线局域网重新进行通信。本发明为终端之间的通信构建了相对稳定的数据传输平台,可以实现某个无线局域网内任意终端之间的直接网络连接。另外,本发明较为简单,基于现有的网络结构就可以实现,无需在无线接入点设备中附加任何逻辑,只在终端实现相应的方法即可。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中基于无线局域网的通信方法的流程图;
图2为本发明实施例2中基于无线局域网的通信方法的流程图;
图3为各个终端与无线接入点设备连接后的网络拓扑示意图;
图4为各个终端与备用无线接入点设备连接后的网络拓扑示意图;
图5为本发明实施例中基于无线局域网的通信装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例所提供的一种基于无线局域网的通信方法,用于终端中,参见图1,该方法具体包括步骤:
步骤101,终端与无线接入点设备建立连接后,获取与无线接入点设备相连的其他终端的设备信息;
步骤102,从其他终端中选取一个终端作为备用无线接入点设备;
步骤103,当检测到与无线接入点设备连接失败后,与备用无线接入点设备建立网络连接。
本发明实施例中所提供的无线局域网优选wifi局域网,在终端通过无线接入点设备建立连接后,可以获取同一无线局域网内的其他终端的设备信息;并从其他终端中选取一个终端作为备用无线接入点;若当前无线接入点无法提供网络服务时,与备用无线接入点重新组建无线局域网重新进行通信。通过本发明不需要无线接入点设备安装相应的软件,无需安装任何附加逻辑,只通过终端本身就可以实现。
实施例2
本实施例在实施例1的基础上,做了进一步地扩展。具体地,在获取无线局域网内其他终端的设备信息时,包括如下步骤:
向与其他终端发送连接请求;
当接收到其他终端中的某个终端响应时,将终端的设备信息进行保存。
本实施例中,任意终端之间的传递数据不需要改变已连接的网络拓扑结构。每个终端具有相同的逻辑,采用主动的方式建立与无线局域网内的其他终端的连接,实现数据的共享。
进一步地,为保证终端可以获取其他终端的信息,在向其他终端发送连接请求时,本发明中优选采用遍历ip地址的方式。由于无线路由器为固件时,因无法安装自定义软件,将无法向各个终端分发当前无线局域网中所有终端的ip地址。但是可以根据dhcp协议向与其连接的设备分配ip地址,且保证与其相连的所有终端的ip地址都在同一网段内。因此,各个终端可以获知自己的ip地址以及所属的网段,但是无法获知其他终端的ip地址。基于此,终端采用ip地址遍历的方式,可以获知同一无线局域网内可以建立连接的其他终端。
具体地,当终端获知本身所属ip地址后,在该所属的网段内对除自己外的其他的ip地址进行遍历,并根据遍历顺序,依序向各个ip地址发送连接请求。例如,无线路由器的ip末位通常为1,如192.168.0.1,同一网段的ip地址为192.168.0.1~192.168.0.254。作为无线接入点的手机通常为192.168.43.1,其所属网段为192.168.43.1~192.168.43.254。当从无线接入点设备获知所分配的ip地址后,在该ip地址所属的网段内进行遍历,获取该网段内可以建立连接的终端。
进一步地,当接收到其他终端中的某个终端响应时,将该终端的设备信息进行保存,具体包括:
当某一ip地址对应的终端有响应时,获取该终端发送的设备名称;
将该ip地址以及所述设备名称作为设备信息保存至本地通信录中。
本发明中通信录中采用ip-设备名称映射表的形式。其中,对于设备名称终端可以自定义。在与其他终端建立连接后,需将包含设备名称的响应信息发送至请求连接的终端。
进一步地,终端中需要设置ip遍历的周期,用于动态维持本地的通信录:即每隔设定的时间段对所属网段的ip地址进行遍历,当通信录中ip地址对应的终端无响应时,将该终端的设备信息删除。当然,当终端之间通信时,某个终端突然失去连接,则将该终端对应的设备信息从通信录中删除。
本发明实施例在获取与无线接入点设备相连的其他终端的设备信息时,采用socket通信方式。具体地,每个终端需建立服务端和客户端。服务端中建立socketsever,用于监听其他客户端的请求,等待进行socket连接。客户端用于对所属网段的ip地址进行遍历,向其他终端中的服务器发起连接请求,同时根据保存的通信录向服务端发送数据。基于此,终端之间可以采用端到端的方式实现数据的分享。
基于上述,本实施例在实现无线局域网内的通信时,参见图2,每个终端在于无线接入点连接后,都可以获知自己的ip地址及所属网段为192.168.x。终端可以遍历其所属网段的所有ip地址,从192.168.x.1地址开始,尝试向除自已以外其它的服务端发起连接请求:若能连接成功,则记录该ip通路畅通,并将该ip地址及相应的设备名称保存至本地的通信录中:否则,不做处理,继续尝试连接下一ip地址,直至遍历至192.168.x.254为止。当需要向某个终端发送文件时,则从已建立的socket中获取输入输出流即可。对于通过socket实现数据的传输已为本领域人员所熟知的技术,这里不再进行赘述。
实施例3
本实施例基于实施例1或实施例2,本实施例中的终端根据终端之间的连接信息,筛选出备用无线接入点设备,防止无线局域网丢失的情况。基于无线接入点的特殊性,其可能由于故障关闭或者采用手机时离开当前区域,致使当前无线局域网络丢失,影响终端间的通信。针对该种情况,本发明实施例中,根据其他终端的ip地址的大小或者网络信号的强度从其他终端选取所述备用无线接入点设备。
具体地,参见图3,无线局域网首次连接成功后的网络拓扑。图3中,a为无线接入点设备。上述提及,在无线接入点设备连接成功后,无线接入点设备a会自动向各个终端分配ip地址。每个终端获取自身的ip地址后,还需记录下无线接入点设备a的ssid(servicesetidentifier,服务集标识),即a的名称。
每个终端中需预先设置磋商规则,用于从与无线接入点设备连接的终端中选取备用无线接入点设备。对于磋商规则,可以为选取除路由器之外ip地址值最小或者最大的设备,也可以是除路由器之外信号强度最大的设备。对于信号强度的获取,上述提及,终端之间建立连接后,可以获取对方的信号强度,并根据信号强度筛选出最大的设备作为备用无线接入点设备。需要说明的是,本发明对于磋商规则不做具体限定,通过磋商规则选取备用无线接入点设备的方法,都在本发明的保护范围之内。
当无线接入点设备a故障关闭时,无线局域网消失,各个终端判断其当前是否为备用无线接入点设备:若为备用无线接入点设备,则自动开启无线接入点充当路由器,并将本设备的无线接入点名称设定为已记录的无线接入点设备a的ssid值;若不是备用无线接入点设备,则根据已记录的ssid值重新发起连接请求。由于备用无线接入点设备b已经设置为保存的ssid值,其他终端可以与备用无线接入点b建立连接,重新建立无线局域网,重新连接后的网络拓扑可以参见图4。
基于上述可知,本实施例中在无线局域网首次建立后,根据终端之间的连接后的信息,可以磋商出备用的无线接入点设备。一旦当前的无线局域网消失后,通过备用的无线接入点设备可以快速自动重新建立无线局域网,以保存局域网内中终端之间的互通性,实现动态组建局域网的功能。
实施例4
本发明实施例还提供了一种基于无线局域网的通信装置,参见图5,包括:
获取模块,用于与无线接入点设备建立连接后,获取与无线接入点设备相连的其他终端的设备信息;
选取模块,用于从其他终端中选取一个终端作为备用无线接入点设备;
连接模块,用于当检测到与无线接入点设备连接失败后,与备用无线接入点设备建立网络连接。
进一步地,获取模块包括:
发送单元,用于向其他终端发送连接请求;
接收单元,用于接收其他终端中的某个终端响应;
存储单元,用于当接收单元接收某个终端响应时,将终端的设备信息进行保存。
进一步地,发送单元具体用于,对所属网段内的ip地址进行遍历,并向除本身所属ip地址外的其他ip地址对应的终端发送连接请求。
进一步地,存储单元具体用于:
当某一ip地址对应的终端有响应时,获取该终端发送的设备名称;
将该ip地址以及设备名称作为设备信息保存至本地通信录中。
进一步地,存储单元还用于,根据设定的时间周期对所属网段的ip地址进行遍历,当通信录中ip地址对应的终端无响应时,将该终端的设备信息删除。
进一步地,获取模块采用socket通信方式获取设备信息。
进一步地,选取模块具体用于,根据其他终端的ip地址的大小或者网络信号的强度从其他终端选取备用无线接入点设备。
进一步地,装置还包括:
记录模块,用于记录无线接入点设备的服务集标识ssid;
判断模块,用于当与无线接入点设备连接失败后,判断自身是否为备用无线接入点设备:若为备用无线接入点设备,则开启无线接入点,并将无线接入点的ssid修改为记录的ssid;否则,根据记录的ssid连接备用无线接入点设备。
综上所述,本发明中所提供的基于无线局域网的通信方法及装置,为终端之间的直接通信构建了相对稳定的数据传输平台。基于本发明,可以实现终端之间的文件传输、语音通话,视频同步播放、即时消息、网络打印、手游等上层应用数据的直接传输。另外,本发明基于现有的网络结构,无需在无线接入点设备中附加任何逻辑,只在终端实现相应的方法即可实现动态组建局域网的功能。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
虽然通过实施例描述了本申请,本领域的技术人员知道,本申请有许多变形和变化而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。