CN112351417B - 设备发现方法、装置以及计算机设备 - Google Patents
设备发现方法、装置以及计算机设备 Download PDFInfo
- Publication number
- CN112351417B CN112351417B CN201910731633.2A CN201910731633A CN112351417B CN 112351417 B CN112351417 B CN 112351417B CN 201910731633 A CN201910731633 A CN 201910731633A CN 112351417 B CN112351417 B CN 112351417B
- Authority
- CN
- China
- Prior art keywords
- channel
- data
- connection
- type
- probe frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
Abstract
本申请提供一种设备发现方法以及相应的装置、计算机系统等。该方法由支持WiFi P2P的设备执行,当该P2P设备连接Wi‑Fi网络的同时需要发现并与其他P2P设备建立Wi‑Fi P2P连接时,应用该方法能够降低该发现过程对Wi‑Fi通信的影响。该方法包括在确定该P2P设备已经连接到Wi‑Fi网络时继续在该Wi‑Fi网络的信道上执行数据接收并判断接收到的数据的类型,并不执行常规的Wi‑Fi P2P设备发现操作。若接收到的数据为探测帧,则响应该探测帧以便于与发送该探测帧的其他P2P设备建立Wi‑Fi P2P连接。
Description
技术领域
本申请涉及计算机技术,尤其涉及一种支持Wi-Fi P2P的设备的发现方法、装置以及相应的计算机设备等。
背景技术
随着智能设备的普及,以及物联网(Internet of Things,IoT)的快速发展,支持Wi-Fi点对点(Peer to Peer,P2P)的设备越来越多。Wi-Fi P2P是Wi-Fi联盟推出的一项技术规范,也称为Wi-Fi Direct,该规范支持多个Wi-Fi设备在没有接入点(Access Point,AP)的情况下相互连接,构成一个点对点网络。例如:一个支持Wi-Fi P2P的手机可以和一台支持Wi-Fi P2P的智能电视直接建立连接,将手机的音视频数据流推送给智能电视,实现多屏互动功能。
某些场景下,多个设备需要Wi-Fi P2P实现直接连接,同时其中一个或多个设备还需要通过Wi-Fi连接与Wi-Fi AP进行通信。例如,前述手机通过Wi-Fi P2P实现将该手机上的游戏推送到智能电视上,与此同时,智能电视还要与无线路由器通信,通过Wi-Fi网络接收视频数据或执行文件上传/下载。随着IoT的发展,前述这种场景的应用将会越来越多,所以支持Wi-Fi P2P的设备(下文中简称为“P2P设备”)具备同时连接AP和其它P2P设备的能力非常重要。
但是,现有技术中,当一个P2P设备与AP存在通信的同时试图去连接其它P2P设备时,该P2P设备与AP之间的通信将会受到较大影响。具体的,当一个P2P设备与AP存在通信的同时试图去连接其它P2P设备时,该P2P设备需要在多个信道上进行设备发现操作,例如扫描(scan)、监听(listen)或搜索(search)等,以便于发现(discover)其它P2P设备并与之建立连接。当一个P2P设备与AP通信的时候,负责与AP进行数据通信的信道处于工作状态,由于数据通信与设备发现操作不能同时进行,若该P2P设备此时再执行扫描、监听或搜索操作,那么与AP通信的这条信道在该操作发生的时间就无法工作,从而影响该P2P设备与AP之间的通信。以前述场景为例,智能电视与无线路由器连接,用户正通过智能电视下载文件或观看网络视频,当用户开启智能电视和手机的Wi-Fi P2P功能,智能电视和手机则启动设备发现以期建立P2P连接,但在此过程中,用户当前在智能电视上观看的网络视频或文件的下载会出现卡顿,甚至智能电视可能会出现断网的现象,极大地影响了用户的通信体验。
发明内容
本申请提供一种设备发现方法,由P2P设备执行,当该P2P设备连接Wi-Fi网络,同时需要发现并与其他P2P设备建立Wi-Fi P2P连接时,应用该方法能够降低该发现过程对Wi-Fi通信的影响。
下面通过不同的方面介绍该方法以及应用该方法的装置等。以下各个方面的实现方式和有益效果可以互相参考。
第一方面,本申请提供一种设备发现方法,该方法包括:当第一设备确定所述第一设备与接入点设备存在Wi-Fi连接时,所述第一设备确定接收到的第一数据的类型,所述第一数据为通过所述Wi-Fi连接所在的第一信道接收到的数据;当确定所述第一数据的类型为探测帧时,通过所述第一信道发送第一响应数据,所述第一响应数据用于响应所述探测帧以便于所述第一设备与发送所述探测帧的第二设备建立Wi-Fi P2P连接。
所述第一设备在确定存在Wi-Fi连接后,不在任何一个信道上执行常规的用于发现其它P2P设备的设备发现操作(简称为设备发现操作),例如扫描、监听或搜索等,而是继续在第一信道上接收数据并判断该数据的类型,当确定该数据是探测帧时发送响应数据,从而能发现其它P2P设备。
需要说明的是,本申请中设备发现操作指的Wi-Fi P2P标准规范中规定的扫描(scan)、监听(listen)或搜索(search)等操作,在第一信道上接收数据虽然也实现了P2P设备发现,但不属于本申请提到的常规的设备发现操作。扫描是在所有信道上发送无线信号探测帧(probe request),看有没有其它P2P设备会响应;搜索是在规定的多个信道(信道1、信道6和信道11)上发送探测帧,看有没有其他P2P设备会响应;为了被其他P2P设备发现,现有技术中的P2P设备需要在信道1、信道6和信道11上执行监听,若监听到探测帧就做出响应。现有的规范中多个P2P设备要实现互相发现需要先执行扫描,然后交替执行监听和搜索操作,在此过程中若发现设备则停止设备发现操作开始建立Wi-Fi P2P连接。
应理解的是,这里的“第一设备”和“第二设备”均为支持Wi-Fi P2P的P2P设备,此含义在方法步骤中已有体现,为了语言简练,在此省略。这里的“Wi-Fi”、“Wi-FiP2P”以及“接入点”为当前通用的技术名称,这个名称可能会改变,其对应的技术可能发展为更先进的技术,这种变化应当还在本申请保护范围之内。“探测帧”为用于发现无线信号的数据,probe request是目前用来实现该功能的一种数据,随着技术的改变,也可以应用其它的数据,这种变化应当还在本申请保护范围之内。
该方法的应用场景包括手机上的显示内容投屏到智能电视上或车载显示装置上等。采用该方法,由于第一设备在确定自己已经连接了Wi-Fi时,继续在该Wi-Fi的通信信道上执行数据接收,没有在其它信道上执行设备发现操作,从而避免或降低了对Wi-Fi通信产生的影响。同时,第一设备对接收到的数据的类型执行判断,当确定是探测帧时发送响应,实现了对其它P2P设备的发现,从而能够成功建立Wi-Fi P2P连接。
在一些实现方式中,Wi-Fi连接的建立在第一设备启动P2P设备发现流程之前。
在一些实现方式中,Wi-Fi连接的建立在第一设备启动P2P设备发现操作之后。若在所述Wi-Fi连接建立之前,所述第一设备已经在执行P2P设备发现操作,则当所述第一设备确定存在Wi-Fi连接时,停止所述P2P设备发现操作,例如扫描、监听或搜索。这样,通过及时停止P2P设备发现操作来降低对Wi-Fi通信信道产生的影响。
在一些实现方式中,P2P设备发现操作可以是由第一设备的用户触发的,也可以是第一设备自主启动的。在一些实现方式中,P2P设备发现操作可以是应用触发的,也可以是操作系统触发的。
在一些实现方式下,所述第一设备确定所述第一设备与接入点设备存在Wi-Fi连接,包括:所述第一设备获取所述第一设备的Wi-Fi连接状态信息,所述Wi-Fi连接状态信息用于指示所述第一设备与所述接入点设备建立了连接。具体的,Wi-Fi连接状态信息可以是被广播通知到连接状态的确定模块,也可以被该模块主动获取。
在一些实现方式下,确定存在Wi-Fi连接的过程包括:获取Wi-Fi连接状态信息,所述Wi-Fi连接状态信息用于指示所述第一设备与所述接入点设备是否建立了连接,然后通过所述Wi-Fi连接状态信息确定是否存在所述Wi-Fi连接。Wi-Fi连接状态信息可以具备单一意义,即指示所述第一设备与所述接入点设备建立了连接;或Wi-Fi连接状态信息可以具备双重意义,即指示所述第一设备是否与所述接入点设备建立了连接。
第二方面,本申请还提供一种设备发现方法,该方法应用在两个或多个网络类型并存情况下,例如5G和2.4G。该方法包括:当第一设备确定所述第一设备与接入点设备存在Wi-Fi连接时,所述第一设备确定接收到的第一数据的类型,所述第一数据为通过所述Wi-Fi连接所在的第一信道接收到的数据;当所述第一设备确定所述第一信道指示(或属于)第一网络类型时,所述第一设备监听属于第二网络类型的至少一个第二信道;所述第一设备确定接收到的第二数据的类型,所述第二数据为通过所述至少一个第二信道接收到的数据;当确定所述第二数据为探测帧时,通过所述至少一个第二信道发送第二响应数据,所述第二响应数据用于响应所述探测帧以便于所述第一设备与发送所述探测帧的第二设备建立Wi-Fi P2P连接。
除了在与Wi-Fi通信的第一信道上接收并判断数据类型之外,第一设备还监听另外一个网络类型的至少一个第二信道,这样就可以保证第一设备在两种网络类型的信道上都能接收数据。应用这种方法,不论第二设备支持哪一种网络类型,第一设备都可以接收到它发送的数据。采用以上这种方法,在降低对Wi-Fi通信影响的同时,第一设备能够与不同网络类型的第二设备建立Wi-Fi P2P连接,不需要第二设备做改进。
应理解的是,若存在三种或三种以上的网络类型,则采用相似的方法启动更多网络类型的信道的监听操作即可。
在一些实现方式中,以上方法应用在第二网络类型的频段低于第一网络类型的情况;或者说,第二网络类型不能兼容第一网络类型;或者说第一网络类型能够向下兼容第二网络类型,但第二网络类型不能向上兼容第一网络类型。例如,第二网络类型为2.4G,第一网络类型为5G。在这些实现方式中,当所述第一设备确定所述第一信道指示第二网络类型时,不需要再监听第一网络类型的信道,例如,当确定第一信道指示2.4G时,由于通过该2.4G的信道既可以接收2.4G P2P设备的数据,又可以接收5G P2P设备的数据,所以不需要再额外监听其它的信道。
在一些实现方式,可能存在两种或两种以上网络类型,它们互不兼容,因此需要分别在这多种网络类型的信道上执行操作以便于发现各自对应的P2P设备。
在一些实现方式中,确定所述第一信道指示第一网络类型包括:获取所述第一设备的Wi-Fi连接状态信息,所述Wi-Fi连接状态信息中包含指示网络类型的信息。在其他一些实现方式中,确定所述第一信道指示第一网络类型包括:获取非所述Wi-Fi连接状态信息的其他用于指示所述网络类型的信息,根据该信息确定所述第一信道指示的网络类型。
在一些实现方式下,如果已知仅存在支持一种网络类型的第二设备,那么本申请提供的方法可以不进行网络类型的判断。
在一些实现方式下,某些场景下,监听所述第二信道以接收到的数据一定是探测帧,这种场景下第一设备可以不对从第二信道上接收到的数据执行数据类型的判断,只要接收到数据即可发送对应的响应数据。
在一些实现方式,第一设备还可以设置所述第一信道和所述第二信道的工作时间,其中所述第一信道的工作时间长于所述至少一个第二信道的工作时间,其中所述工作时间为多个信道交替工作时每个信道的工作时长。由于在第一信道上执行Wi-Fi通信,在第二信道上执行监听操作,由于Wi-Fi通信和监听操作不能同时执行,那么第一信道和第二信道就会交替工作,则第一信道的Wi-Fi通信会受到一些影响。为了尽可能降低这种影响,可以设置第一信道和第二信道的工作时间,例如为10:1或9:1,保证第一信道有比较足够的工作时间,从而保证Wi-Fi通信的效果。信道“工作”指设备在该信道上执行监听、搜索、扫描或数据接收/发送等任意一种操作。
除了方法之外,本申请还实现方法的装置、计算机存储介质和计算机程序产品等。
第三方面,本申请提供一种设备发现装置,该设备发现装置包括一个或多个模块,用于执行前述任一方面或前述任一方面的任意一种实现方式提供的方法。例如,该设备发现装置可以为智能手机、智能电视(或者叫智慧大屏、智慧屏、或大屏电视等)、车载装置等终端设备。再例如,该设备发现装置可以为插在终端设备上的可插拔的装置。
第四方面,本申请提供一种计算机设备,例如智能手机、智能电视等终端设备。该计算机设备包括处理器和存储器,其中存储器用于存储计算机可读指令,处理器用于执行该计算机可读指令实现前述任一方面或前述任一方面的任意一种实现方式提供的方法。
第五方面,本申请提供一种设备发现装置,该设备发现装置包括处理器和接口单元,该处理器用于通过该接口单元从存储器中读取计算机可读指令以实现前述任一方面或前述任一方面的任意一种实现方式提供的方法。该存储器可以设置在该设备发现装置上,也可以设置在该设备发现装置之外的装置或模块上。例如,该设备发现装置可以是芯片。
第六方面,本申请提供一种计算机存储介质,所述计算机存储介质用于存储计算机程序,当所述计算机程序被一个或多个处理器执行时实现前述任一方面或前述任一方面的任意一种实现方式提供的方法。
第七方面,本申请提供一种计算机程序产品,所述计算机程序产品用于存储计算机程序,当所述计算机程序被一个或多个处理器执行时实现前述任一方面或前述任一方面的任意一种实现方式提供的方法。
附图说明
下面将对本申请附图作简单地介绍。显而易见地,下面描述的附图仅仅是本申请的一些实施例。
图1为本申请提供的设备发现方法的应用场景的示例图;
图2为应用场景的抽象示意图;
图3为本申请提供的第一P2P设备的一种逻辑结构示意图;
图4为本申请提供的一种设备发现方法的流程示意图;
图5为本申请提供的另一种设备发现方法的流程示意图;
图6为本申请提供的再一种设备发现方法的流程示意图;
图7为图6提供的设备发现方法的一种时序示意图;
图8为图6提供的设备发现方法的另一种时序示意图;
图9为本申请提供的再一种设备发现方法的流程示意图;
图10为图9提供的设备发现方法的一种时序示意图;
图11为本申请提供的一种计算机系统的逻辑结构示意图;
图12为本申请提供的一种设备发现装置的逻辑结构示意图。
具体实施方式
本申请提供的设备发现方法主要应用在一个P2P设备需要同时与Wi-Fi接入点和另外的一个或多个P2P设备连接的场景,应用该方法后能够降低P2P设备发现过程对Wi-Fi通信的影响,从而提升用户体验。
图1为本申请提供的设备发现方法的应用场景的示例图。图1为一个家庭内网络的示意图,其中,智能手机20、打印机40、和智能电视30均可以通过Wi-Fi与无线路由器10连接。智能手机20、打印机40、和智能电视30均为支持Wi-Fi P2P的设备,即P2P设备。
在一种应用场景下,智能电视30已经与无线路由器10建立连接,用户正通过智能电视30看网络视频,此时用户需要将智能手机20上的照片投射到智能电视30上,但还是想继续观看网络视频,那么智能电视30需要与无线路由器10保持通信的同时再通过Wi-FiP2P发现并连接智能手机20。需要说明的是,智能电视30若同时展示网络视频和照片,这种展示方式有多种,例如分屏显示或多窗口显示等,本申请对此不做限定。
在另一种应用场景下,智能手机20已经与无线路由器10建立连接,用户正在用智能手机20观看网络视频或玩网络游戏,用户想要将智能手机20上的网络视频或网络游戏投射到智能电视30上,此时智能手机20需要通过Wi-Fi P2P与智能电视30建立连接,同时用户需要继续在手机上接收网络视频或玩网络游戏,不希望网络出现卡顿或断开的现象。
再一种应用场景下,智能手机20已经与无线路由器10建立连接,用户正在用智能手机20玩网络游戏,此时需要打印某个图像或资料,则用户在智能手机20上点击“打印”,智能手机20启动设备发现功能试图发现并连接打印机,同时用户并不想当前正在玩的网络游戏出现卡顿或断开的现象。
再一种应用场景下,智能电视30已经启动了Wi-Fi P2P功能,可能是用户启动,也可能智能电视30被启动时自主启动,或特定条件下触发启动。Wi-Fi P2P功能启动后,智能电视30执行设备发现操作,试图去发现其他P2P设备,但在发现其他P2P设备之前,智能电视30与无线路由器10建立了连接(可能是首次连接,也可能是断开后再次连接),那么接下来还会持续的设备发现过程不能过多影响智能电视30与无线路由器10的通信。
需要说明的是,随着5G网络、IoT技术、无人驾驶汽车、虚拟现实等通信技术和计算机技术的迅速发展,将会有越来越多的场景需要一台P2P设备同时连接无线路由器和其它P2P设备,以上图1以及几种具体的应用场景仅是举例说明,本申请对应用场景不做限定。
由于本申请的应用场景较为多样化,为便于理解方案,本实施例将应用场景抽象为图2。如图2所示,第一P2P设备可以通过Wi-Fi与接入点通信,与此同时,该第一P2P设备可以通过Wi-Fi P2P直接连接第二P2P设备,以与该第二P2P设备通信。本实施例对第一P2P设备与接入点建立连接和与第二P2P设备建立连接的时间先后不做限定。
应理解的是,第一P2P设备和第二P2P设备可以为任意支持Wi-Fi P2P的设备,不局限于前述应用场景的举例。第一P2P设备和第二P2P设备的角色可以互换。另外,第二P2P设备可以有多个,这多个第二P2P设备可以是同类型的,也可以是不同类型的。换句话说,第一P2P设备可以连接一个第二P2P设备,也可以同时连接多个第二P2P设备。需要说明的是,第一P2P设备是否可以同时连接多个接入点,本实施例不做限定。
图3为第一P2P设备的逻辑结构示意图。如图3所示,第一P2P设备包括应用层(application layer)、框架层(framework layer)、原生层(native layer)、内核层(kernel layer)以及硬件层(hardware layer)。除了硬件层之外,其它的层次可以统称为软件层。对于软件层的划分,不同的操作系统(operating system,OS)可能有不同的划分方法。图3为Linux操作系统的示例,安卓(Android)操作系统由于基于Linux实现,所以与图3类似,因此图3也可以视为Android操作系统的一种示例。本实施例以图3为例介绍方案的实现,其它类型的操作系统,例如苹果的iOS操作系统、微软的windows操作系统等拥有自己对应的软件模块,根据本申请公开的方法做相应修改或增加功能等即可实现,本申请不再一一说明。
如图3所示,P2P应用为支持Wi-Fi P2P的应用。在一些实现方式中,一台P2P设备中存在部分应用Wi-Fi P2P,部分应用不支持Wi-Fi P2P;在另一些实现方式中,一台P2P设备中的所有的应用均支持Wi-Fi P2P。应用对Wi-Fi P2P的支持可能是应用自身实现的,也有可能是操作系统实现的,还有可能是二者共同实现的,本申请对此不做限定。在一些场景下,P2P应用用于触发整个Wi-Fi P2P的连接流程,典型的场景例如视频应用启动多屏互动功能等;在另一些场景下,整个Wi-Fi P2P的连接流程由第一P2P设备上的Wi-Fi P2P功能触发,即启动该功能即可启动该Wi-Fi P2P的连接流程,该功能也可以看作是一个P2P应用;再一些场景下,整个Wi-Fi P2P的连接流程可以由第二P2P设备触发,或者第二P2P设备和第一P2P设备同时触发,等等,本申请对触发方式不做限定。
Wi-Fi管理器(wifiManager)用于对P2P应用(或其它未出现在图中的应用)提供Wi-Fi相关接口,以使用wifiService的服务。Wi-Fi服务(wifiService)则提供Wi-Fi相关的服务,例如打开Wi-Fi、关闭Wi-Fi、查询Wi-Fi状态等。
Wi-Fi P2P管理器(wifiP2pManager)对P2P应用提供Wi-Fi P2P的相关接口,以使用Wi-FiP2P服务(wifiP2pService)的服务。
wifiP2pService则提供Wi-Fi P2P相关的服务,例如启动监听(listen)、启动P2P设备发现(scan/search)等。wifiP2pService需要调用wpa_supplicant的相关接口来实现部分或全部功能。
wpa_supplicant用于确定信道,并执行listen、scan、search等操作。和wifidriver交互,发送或接收和Wi-Fi P2P连接相关的数据帧,例如探测帧。
网络栈(network stack)包括TCP/UDP等协议栈,该网络栈用于和Wi-Fi驱动程序(wifi dirver)交互,以从接入点接收数据帧或向接入点发送数据帧。wifi dirver用于发送或接收Wi-Fi数据以及Wi-Fi P2P数据。
本申请的一种实现方式就是在前述wifiP2pService和wpa_supplicant模块中新增或修改原有功能。概括来说,wifiP2pService用于获取设备与接入点的连接状态,然后根据该连接状态来启动相应的P2P设备发现流程。wpa_supplicant用于根据wifiP2pService发送的指令执行相应的设备发现操作。wpa_supplicant还用于判断与AP通信的信道是2.4G还是5G。
需要说明的是,图3和图3的文字描述中出现的英文大多是linux系统代码相关的术语,本实施例使用这些术语便于程序设计人员理解方案的实现,术语中英文大写或小写均可,不影响其含义,术语的中文释义是为符合专利申请要求字面翻译所得,也可以翻译为其它形式,不应理解为对本申请的限定。
下面介绍本申请提供的设备发现方法的流程,概括来说,本申请提供的设备发现方法为根据P2P设备是否连接接入点来决定P2P设备采用什么设备发现策略,或根据P2P设备是否连接接入点和接入点工作在什么信道来决定P2P设备采用什么设备发现策略。
图4为本申请提供的设备发现方法的一种实现方式的流程示意图。该方法包括步骤当第一P2P设备确定所述第一P2P设备与接入点设备存在Wi-Fi连接时,所述第一P2P设备确定接收到的第一数据的类型,所述第一数据为通过所述Wi-Fi连接接收到的数据(S101);当确定所述第一数据的类型为探测帧时,发送第一响应数据(S102)。
在该过程中,第一P2P设备不需要在任何信道上执行扫描、搜索和监听操作,其他P2P设备不需要进行修改,就可以实现多台P2P设备的发现和连接。
在一些情况下,若在所述Wi-Fi连接建立之前,所述第一P2P设备已经开始执行现有技术的P2P发现流程,即执行扫描、监听或搜索操作,那么当第一P2P设备确定所述第一P2P设备与接入点设备存在Wi-Fi连接时,停止执行所述扫描、监听或搜索操作(S101a)。
需要说明的是,本申请所提到的方法是在降低通信影响的需求下提出,要实现该效果不需要再像现有技术那样执行扫描、搜索或监听操作,但是不排除在具体产品中,可能该产品有其它的需求,或要实现特定的功能,所以还要执行和扫描、搜索或监听相同或相似的操作。
图5为本申请提供的设备发现方法的另一种实现方式的流程示意图。步骤S101、S101a和S102与图4相同。但是本实施例区分了5G和2.4G。如图5所示,当第一P2P设备确定所述Wi-Fi连接使用的第一信道指示5G时,启动对2.4G的至少一个第二信道的监听,并确定从所述第二信道接收到的第二数据的类型(S101b);当确定第二数据为探测帧时,通过所述第二信道发送第二响应数据(S103)。
在第一信道属于5G的情况下,第一P2P设备至少启用了两个信道,一个属于5G,至少一个属于2.4G。为了尽量减低对Wi-Fi通信的影响,可以仅启动一个2.4G信道。对这两个信道接收到的数据分别进行数据类型判断,若为探测帧,则发送相应的响应数据,以便在对应的信道上建立Wi-Fi P2P连接。在其他一些实施例中,可以启用更多的5G或2.4G信道,本申请不做限定。
图5所示的方式也适用于第二P2P设备或接入点设备存在5G和2.4G等多种类型时。
图6为本申请提供的设备发现方法的一种实现方式的流程示意图。
本申请提供的设备发现方法在很多可能的场景下可能被触发:例如启动该第一P2P设备(Wi-Fi P2P功能默认开启),或者开启该第一P2P设备的Wi-Fi P2P功能,或者启动某个支持Wi-Fi P2P应用或该应用中某个功能,又或者接收到来自其他设备的Wi-Fi P2P功能触发请求,等等,本申请对此不做限定。
举例来说,在一种具体场景下:用户在手机点击投屏发现按钮,相当于开启了Wi-FiP2P功能,即进入设备发现阶段,开始执行本方案步骤。待手机发现其他P2P设备(例如智能电视)之后,用户再在手机上点击投屏连接按钮,开始建立Wi-Fi P2P连接。
另一种具体场景下:用户把手机靠近近场通信(Near Field Communication,NFC)标签,相当于用户点击了投屏发现按钮,然后就进入了设备发现阶段。如果手机是首次投屏,即手机没有跟智能电视绑定关系,手机会弹出搜索到的设备的列表弹框,用户选择设备发起投屏连接;如果手机是非首次投屏,即手机跟智能电视建立了绑定关系,手机发现绑定了的智能电视之后,会自动进入设备连接阶段,不需要用户再点击投屏连接按钮。该场景中的NFC标签可以作为一个配件。该NFC标签可以与智能电视或其他P2P设备配对,该NFC标签可以贴在桌子上、遥控器上、或智能电视等P2P设备上。
在以上场景中,其他P2P设备,例如智能电视等,它们的Wi-Fi P2P功能可以是常开的。在其它一些实施例中,智能电视也可以作为第一P2P设备执行本申请提供的设备发现方法中的一种或多种。
S201、第一P2P设备获取与接入点(access point,AP)的连接状态信息。
AP在本实施例中可以理解为无线路由器,但在其他实施例中,已经与第一P2P设备建立Wi-Fi连接的设备可以是其它类型的设备,比如其他P2P设备,或更多还未出现的设备等,本申请对此不做限定。
S202、根据该连接状态信息确定该第一P2P设备是否连接AP。当确定该第一P2P设备没有与AP连接时,可以执行现有技术提供的P2P设备发现方法或其它还未出现的P2P设备发现方法(S107)。这里的连接状态信息用于指示Wi-Fi连接状态,具体的,用于指示第一P2P设备是否连接AP。
现有技术典型的P2P设备发现方法包括:第一P2P设备在所有信道上执行扫描(scan)操作,即在所有信道上逐个发送探测帧(probe request)。如果此时第二P2P设备处于监听(listen)状态,第二P2P设备就会收到探测帧,并作出响应,那么二者就互相发现了。如果没有发现,则第一P2P设备交替执行监听(listen)和搜索(search)操作,例如:先listen信道1,即等待接收探测帧;然后在信道1、信道6和信道11上逐一执行search,即在这三个信道上依次发送探测帧;然后再listen;再search;依此循环。第二P2P设备也在执行同样的操作。在此过程中,当一个P2P设备正在listen且另一个P2P设备正在search,而且刚好listen的信道和search的信道一致时,就能互相发现。设备互相发现之后,就可以在这个信道上建立连接。需要说明的是,P2P设备互相发现之后建立连接的方法可参考现有技术或其他方案,本申请不做限定。
第一P2P设备与AP已经建立连接,那么意味着负责与AP通信的一个信道处于工作状态,而对于一个P2P设备来说,同一时间只能有一个信道处于工作状态,那么第一P2P设备在执行以上scan、listen、search操作的时候极大可能性会导致与AP通信的这个信道不能工作,因此就会影响与AP的通信。
S203、当确定该第一P2P设备与AP已经连接时,确定当前工作信道属于2.4G还是5G。当前工作信道可以包含在步骤S101获取的连接状态信息中,也可以另外获取。这里的“当前工作信道”指的是与AP通信的信道。
根据当前的IEEE802.11协议规定,Wi-Fi主要使用2.4G和5G两个频段,其中2.4G的频率范围包括2.4GHz~2.4835GHz,5G的频率范围包括5.150GHz~5.825GHz。每个频段内部,再按频率大小,进一步细分为多个信道(channel)。以中国为例,2.4G频段包括1~13信道,5G频段包括36~165信道。不管是Wi-Fi P2P,还是Wi-Fi,都要先选择一个信道,基于这个信道来通信。
例如,若当前工作信道为36,则可以确定当前工作信道属于5G;若当前工作信道为11,则可以确定当前工作信道属于2.4G。对于信道的划分,不同国家可以有不同的规定,本申请不做限定。
需要说明的,本实施例中对于信道归属的判断,在具体实现的代码中并非一定要出现“确定属于2.4G或确定属于5G”这样的代码,例如可以直接通过判断信道属于1~13还是36~165的方式来实现对步骤S104和步骤S106的路径选择。再者,随着无线技术的发展,可能会出现除2.4G和5G之外的其它频段,或者也有可能废弃现有频段,本申请也可以稍作修改适应这些情况,均应该本申请保护范围之内,在此不一一赘述。
S204、当确定工作信道属于2.4G时,继续在该工作信道上接收数据。
与现有技术不同,本申请提供的方案在此情况下不在其他信道上启动任何设备发现操作,而需要执行的操作是:判断通过该工作信道接收到的数据的类型(S204)。若该数据是普通的Wi-Fi数据,则说明该数据来自AP,那么转发给相应的模块处理(S208)。若该数据是探测帧,说明该数据是第二P2P设备发送的,则响应该探测帧(S205),进而与该第二P2P设备建立Wi-Fi P2P连接。响应探测帧的方法例如为在该工作信道上发送对该探测帧的响应帧(probe response)。
S206、当确定工作信道属于5G时,对属于2.4G的任意一个或多个信道启动listen操作。启动对2.4G的至少一个信道的listen操作,是为了避免接收不到支持2.4G且不支持5G的第二P2P设备发送的探测帧。
由于启动对其它信道的监听会影响与AP通信的信道的数据通信,所以进一步的,可以把与AP通信的时间和监听时间设置为N:1,其中N>1。换句话说,第一P2P设备至少两个信道可以工作,这两个信道的工作时间为N:1。
对这至少两个信道接收到的数据的处理与步骤S204类似,在此不再赘述。在其它实施例中,有可能从2.4G信道接收到的数据不需要进行数据类型的判断,只要接收到的数据就认为一定是探测帧,这个时候可以不执行对该信道的数据的类型判断。
需要说明的是,在第一P2P设备执行上述方法的过程中,不论是仅支持2.4G的第二P2P设备,还是支持5G的第二P2P设备,都可以继续采用现有技术的设备发现流程,不需要改动,就可以实现互相发现,进而建立通信连接。
通过上述方法过程可以看出,在确定第二P2P设备已经连接AP的情况下,不论连接的是2.4G还是5G,在P2P设备的发现过程中,都没有再像现有技术那样在所有信道上启动扫描操作或在多个信道上启动搜索操作,所以减小了P2P设备的发现过程对当前与AP通信的信道的影响。
需要说明的是,P2P设备的发现过程是互相的,所以本申请提供的方法既可以理解为降低了第一P2P设备的设备发现过程对Wi-Fi通信的影响,又可以理解为降低了第二P2P设备的设备发现过程对Wi-Fi通信的影响。
进一步的,当确定与AP通信的信道属于2.4G时,没有在除当前工作信道之外的其它信道上执行任何操作,基本把对当前工作信道的影响降到了最低。
即便是在确定与AP通信的信道属于5G的情况下,仅在另一信道上针对性地执行了监听操作,避免了大规模的扫描和搜索操作,也大大降低了对与AP通信的信道影响。而且,通过自主设置信道的监听时间,使得监听时间少于与AP通信的通信时间,进一步降低了对AP通信的影响。
为便于理解,本实施例以第一P2P设备作为执行主体来描述。若以图3为例,以上步骤中的一个或多个可以由wifiP2pService和wpa_supplicant中的任意一个或两个实现。具体的,哪个步骤由哪个模块实现可以根据模块的原始功能来确定,也可以采用新增功能模块的方式实现,本申请对此不作限定。
下面通过可能出现的不同的场景介绍本申请提供的设备发现方法的实现过程。应理解的是,下面的这些场景中涉及到的步骤的顺序仅是一种示例,不应理解为对本方案的限定。
图7为第一P2P设备已经通过2.4G的信道与AP连接的场景。当Wi-Fi P2P功能被触发后,第一P2P设备读取Wi-Fi的连接状态,确定为已连接状态,并获取当前通信信道为2.4G频段的信道5(S501)。第一P2P设备不启动扫描、搜索和监听操作,继续在信道5上接收数据并开始确定数据的类型。需要说明的是,第一P2P设备也可以在信道5上向AP发送数据,但是该发送过程与本实施例无关,所以本申请不做限定。
当第一P2P设备确定该数据类型为普通Wi-Fi数据(S502和S503),则转发给相关模块处理即可。Wi-Fi数据的格式在标准中有相关定义,数据类型可以通过数据格式中指示类型的字段确定。
一台支持5G的P2P设备,即第二P2P设备(5G),启动Wi-Fi P2P功能,此后第二P2P设备(5G)在所有信道(例如信道1~165)上依次执行扫描(scan)操作,每个信道执行40ms。扫描操作包括在信道上发送探测帧。由于每个信道上都会发探测帧,所以一定会在信道5上发探测帧(S504),而第一P2P设备一直在信道5上接收数据,所以会接收到该探测帧。当第一P2P设备从信道5上接收到该探测帧时发送响应数据(S506)。确定数据是探测帧是通过前述对数据类型的确定实现的(S505)。第二P2P设备(5G)接收到响应数据之后,发起Wi-Fi P2P连接(S507)。
另一台仅支持2.4G的P2P设备,即第二P2P设备(2.4G),也启动Wi-Fi P2P功能,此后该设备也会在所有信道(例如信道1~13)上依次发送探测帧(S504’)。类似的,当第一P2P设备从信道5上接收到探测帧时发送响应数据,第二P2P设备(2.4G)接收到响应数据之后发起Wi-Fi P2P连接(S505’~S507’)。
通过以上过程可以看出,第一P2P设备一直在信道5上接收和发送数据,没有切换到其它信道,所以不影响与AP之间的通信。而且,第二P2P设备(5G)和第二P2P设备(2.4G)都不需要做修改,保持现有的设备发现流程即可。
图8为第一P2P设备已经通过5G的信道与AP连接的场景。当Wi-Fi P2P功能被触发后,第一P2P设备读取Wi-Fi的连接状态,确定为已连接状态,并获取当前通信信道为5G频段的信道36(S601)。第一P2P设备继续在该信道36上接收和发送数据,持续时间为90ms(S602)。90ms结束之后,第一P2P设备切换到信道1,并在信道1上执行监听(listen),持续时间为10ms,之后再切换回信道36(S604)。
需要说明的是,工作在信道36和信道1的持续时间可以根据实际需要设定,本实施例仅是举例。
第一P2P设备在信道36接收数据的过程中,对收到的数据进行类型判断,当确定数据类型为普通Wi-Fi数据时(S605和S606),说明该数据来自AP,可转发到相应的模块处理。具体判断方法可参考前述实施例。
如果第二P2P设备(5G)启动Wi-Fi P2P功能,会扫描所有信道,通常每个信道扫描40ms。由于第一P2P设备在信道36工作90ms、在信道1工作10ms,而第二P2P设备(5G)的信道包括信道1和信道36,所以扫描阶段第二P2P设备(5G)在信道1或信道36可以发现P2PDevice。
如图8所示,第二P2P设备(5G)在信道36发送探测帧给第一P2P设备(S607),而第一P2P设备此时也在信道36接收数据。然后第一P2P设备分析数据类型,确定是探测帧(S608),就会回复响应数据给第二P2P设备(5G)(S609)。最后第二P2P设备(5G)会向第一P2P设备发起Wi-Fi P2P连接(S610)。
如果第二P2P设备(2.4G)发启动Wi-Fi P2P功能,会扫描所有信道,通常每个信道扫描40ms。由于第一P2P设备在信道36工作90ms、在信道1工作10ms,而第二P2P设备(2.4G)的信道包括信道1且不包括信道36,所以扫描阶段第二P2P设备(2.4G)有可能在信道1发现第一P2P设备,也可能发现不了。如果没有发现,那么后续第二P2P设备(2.4G)可以持续在信道1、信道6和信道11做搜索,最终会在信道1发现第一P2P设备。
如图8所示,第二P2P设备(2.4G)在信道1发送探测帧给第一P2P设备(S612);然后第一P2P设备分析数据类型,确定是探测帧(S613),就会回复响应数据给第二P2P设备(2.4G)(S614);最后第二P2P设备(2.4G)会向第一P2P设备发起Wi-Fi P2P连接(S615)。
需要说明的是,通常每次切换到信道36和信道1上都要执行数据类型判断,图中步骤S602虽然没有示出,但也需要执行数据类型判断,这样可以确保尽快发现其他P2P设备。但是,本申请并不限定每次切换到信道36上都要执行数据类型判断,本领域技术人员完全可以根据需求自己设定,例如首次切换到信道36的时候不判断,或者间隔一次切换执行判断,等等。
通过上述方法可知,第一P2P设备大部分时间都在信道36接收和发送数据,小部分时间切换到信道1做监听,所以对信道36上与AP的数据通信的影响较小。而且对端的第二P2P设备,不论是支持2.4G的还是支持5G的,都不需要做修改,保持现有的设备发现流程即可,即先扫描所有信道,若无发现第一P2P设备则交替进行搜索和监听。
图7和图8的实施例可以理解为第一P2P设备与接入点的连接先建立,然后第一P2P设备再启动与其它P2P设备的Wi-Fi P2P连接。例如,手机与AP已经建立通信,然后手机启动与智能电视的Wi-Fi P2P连接。
在具体的应用场景中还存在其它可能的情况,例如第一P2P设备的Wi-Fi P2P功能早于第一P2P设备与接入点的连接先启动,那么在第一P2P设备与接入点建立连接之后可以再采用本申请提供的方法。例如,第一P2P设备为智能电视,不论手机或其他P2P设备有没有开启Wi-Fi P2P功能,智能电视的Wi-Fi P2P功能是一直开启的,在没有发现其他P2P设备之前,智能电视与AP建立了连接。图9为适用于该场景的方法流程的一个示意图。
如图9所示,第一P2P设备的Wi-Fi P2P功能启动之后执行现有技术的P2P连接流程(S301),试图发现并连接其他P2P设备,即首先在所有信道上执行扫描操作,然后在特定信道上交替执行监听或搜索操作。与此同时,第一P2P设备一直在监听与AP的了连接状态,监听的实现可以是主动获取与AP的连接状态信息,也可以是被动获取,比如被广播通知该连接状态信息(S302)。若获取到的连接状态信息指示没有连接接入点或没有获取到连接状态信息,那么继续执行P2P连接流程(S303)。假设在发现其它P2P设备之前,第一P2P设备与接入点AP建立了Wi-Fi连接,那么获取的连接状态信息则指示已连接接入点(S303),之后第一P2P设备停止正在执行的扫描、搜索或监听操作(S304)。
需要说明的是,在图6所示的实施例的场景下,由于Wi-Fi P2P功能没有事先启动,所以可以不需要S304这个停止操作。
步骤S304之后的步骤S305-S308等和图6类似,可参考前述图6的描述,或更详细的,可参考图7或图8的相应描述。
在其他一些实施例中,若连接接入点时,第一P2P正在执行某个信道上执行监听操作,若该信道是2.4G的信道,那么也可以不停止该监听操作,因为后续可能还要启动。
图10为图9所示的方法的一种具体的应用场景的示意图。如图10所示,第一P2P设备正在信道1、信道6和信道11上依次执行搜索(search)操作,即发送探测帧(S801),试图连接发现并连接其它P2P设备。此时,第一P2P设备与接入点AP建立了连接(S802),本实施例对此连接的触发方式和建立方式均不做限定。当第一P2P设备与AP建立连接之后,与此连接相关的连接模块会通过主动通知的形式告知给用于连接状态信息获取的信息获取单元。当信息获取单元被通知Wi-Fi连接状态为已连接时,停止对以上信道的搜索操作(S803和S804)。其它实施例中,信息获取单元也可以主动去连接模块周期性获取连接状态信息。由于此实施例中,与AP通信的信道为信道5,属于2.4G,所以不在其它信道上执行监听操作。其它步骤与图7类似,可参考图7的相应描述。
需要说明的是,图9和图10所示的实施例也适用于前述举例的投屏场景:用户点击按钮投屏或通过NFC投屏等。在这种场景下,智能电视作为第一P2P设备可以执行图9或图10所示的方法。
请参考图11,为本申请提供的一种计算机系统的结构示意图。该计算机系统可以了解为前述第一P2P设备的一种实现。具体的,该计算机系统可以为智能手机、智能电视、音箱、或扫地机器人等。如图所示,该计算机系统包括通信模块510、传感器520、用户输入模块530、输出模块540、处理器550、音视频输入模块560、存储器570以及电源580。
通信模块510包括Wi-Fi模块和Wi-FiP2P模块,这两个模块可以集成在一个硬件上,也可以独立设置。通信模块510还可以包括其他的能使该计算机系统与通信系统或其他计算机系统之间进行通信的模块。例如,通信模块510还可以包括有线网络接口、广播接收模块、移动通信模块、无线因特网模块、局域通信模块和位置(或定位)信息模块等其中的一个或多个。这多种模块均在现有技术中有多种实现,本实施例不再一一描述。
传感器520可以感测系统的当前状态,诸如打开/闭合状态、位置、与用户是否有接触、方向、和加速/减速,并且传感器520可以生成用于控制系统的操作的感测信号。
用户输入模块530,用于接收输入的数字信息、字符信息或接触式触摸操作/非接触式手势,以及接收与系统的用户设置以及功能控制有关的信号输入等。用户输入模块530包括触控面板和/或其他输入设备。
输出模块540包括显示面板,用于显示由用户输入的信息、提供给用户的信息或系统的各种菜单界面等。可选的,可以采用液晶显示器(liquid crystal display,LCD)或有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板。在其他一些实施例中,触控面板可覆盖显示面板上,形成触摸显示屏。另外,输出模块540还可以包括音频输出模块、告警器以及触觉模块等。
音视频输入模块560,用于输入音频信号或视频信号。音视频输入模块560可以包括摄像头和麦克风。另外,该计算机系统还可以包括音视频输出模块,用于输出音频信号或视频信号。
电源580可以在处理器550的控制下接收外部电力和内部电力,并且提供该计算机系统的各个组件的操作所需的电力。
处理器550可以指示一个或多个处理器,例如,处理器550可以包括一个或多个中央处理器,或者包括一个中央处理器和一个图形处理器,或者包括一个应用处理器和一个协处理器(例如微控制单元或神经网络处理器)。当处理器550包括多个处理器时,这多个处理器可以集成在同一块芯片上,也可以各自为独立的芯片。一个处理器可以包括一个或多个物理核,其中物理核为最小的处理单元。
存储器570存储计算机程序(或称计算机可读指令),该计算机程序包括操作系统程序572和应用程序571等。典型的操作系统如微软公司的Windows,苹果公司的MacOS等用于台式机或笔记本的系统;又如谷歌公司开发的基于的安卓系统等用于移动终端的系统等。
存储器570可以是以下类型中的一种或多种:闪速(flash)存储器、硬盘类型存储器、微型多媒体卡型存储器、卡式存储器(例如SD或XD存储器)、随机存取存储器(randomaccess memory,RAM)、静态随机存取存储器(static RAM,SRAM)、只读存储器(read onlymemory,ROM)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、可编程只读存储器(programmable ROM,PROM)、磁存储器、磁盘或光盘。在其他一些实施例中,存储器570也可以是因特网上的网络存储设备,系统可以对在因特网上的存储器570执行更新或读取等操作。
处理器550用于读取存储器570中的计算机程序,然后执行计算机程序定义的方法。本申请提供的设备发现方案可以实现在应用程序中,也可以实现在操作系统中,或者由应用程序和操作系统共同实现。
存储器570还存储有除计算机程序之外的其他数据573,例如本申请中第一P2P设备从其它P2P设备或AP接收到的数据等。
图11中各个模块的连接关系仅为一种示例,本申请任意实施例提供的方法也可以应用在其它连接方式的终端设备中,例如所有模块通过总线连接。各个模块的划分仅是逻辑上的划分,并不代表硬件上一定是分开的。各个模块在本申请的一些实施例中未必是必要的。
图12为本申请提供的一种设备发现装置的逻辑结构示意图。该设备发现装置包括:信息获取单元610、数据类型判断单元620以及发送单元630。
信息获取单元610,用于确定与接入点设备存在Wi-Fi连接。具体的,信息获取单元610,用于获取Wi-Fi连接状态信息,并根据该Wi-Fi连接状态信息确定与接入点设备存在Wi-Fi连接。Wi-Fi连接状态信息的获取可以是被动的,也可以主动的。例如,Wi-Fi连接相关的模块在Wi-Fi连接建立之后向信息获取单元610广播用于指示Wi-Fi连接已建立的信息,信息获取单元610获得该广播信息后指示数据类型判断单元620执行接下来的动作。
数据类型判断单元620,用于在所述信息获取单元确定存在所述Wi-Fi连接时,确定接收到的第一数据的类型,所述第一数据为通过所述Wi-Fi连接所在的第一信道接收到的数据。
发送单元630,用于当所述数据类型判断单元确定所述第一数据的类型为探测帧时,通过所述第一信道发送第一响应数据,所述第一响应数据用于响应所述探测帧以便于所述第一设备与发送所述探测帧的第二设备建立Wi-Fi P2P连接。
可选的,该设备发现装置还包括停止单元,用于停止扫描、监听或搜索等设备发现操作。具体的,若在Wi-Fi连接建立之前,该设备发现装置已经在执行扫描、监听或搜索等设备发现操作,则当确定所述第一设备与接入点设备存在Wi-Fi连接时,停止当前的设备发现操作。具体的,停止单元可以调用wifiP2pservice的相关接口实现该停止操作。
可选的,该设备发现装置还包括监听启动单元,用于当所述第一设备确定所述第一信道指示第一网络类型时,监听属于第二网络类型的至少一个第二信道。所述数据类型判断单元62还用于确定接收到的第二数据的类型,所述第二数据为通过所述至少一个第二信道接收到的数据。所述发送单元630还用于当确定所述第二数据为探测帧时,通过所述至少一个第二信道发送第二响应数据,所述第二响应数据用于响应所述探测帧以便于所述第一设备与发送所述探测帧的第二设备建立Wi-Fi P2P连接。
该设备发现装置的其它具体实现可参考前述实施例,在此不再赘述。
另外,本申请还提供与本申请提供的方法相关的存储介质、计算机程序产品、计算机程序等,用于存储计算机可读指令,该计算机可读指令在被一个或多个处理器执行时实现本申请提供的任意一种设备发现方法。具体实现可参考前述实施例。
需要说明的是,本实施例提供的方案可以应用于终端设备或服务器等。这里的终端设备包括但不限于智能手机、车载装置、个人计算机、人工智能设备、平板电脑、个人数字助理、智能穿戴式设备(例如智能手表或手环、智能眼镜)、智能电视(或者叫智慧大屏、智慧屏、或大屏电视等)、智能语音设备(例如智能音箱等)、虚拟现实/混合现实/增强显示设备或网络接入设备(例如网关等)等。服务器可以包括存储服务器或计算服务器等。
需要说明的是,前述实施例中提出模块或单元的划分仅作为一种示例性的示出,所描述的各个模块的功能仅是举例说明,本申请并不以此为限。本领域普通技术人员可以根据需求合并其中两个或更多模块的功能,或者将一个模块的功能拆分从而获得更多更细粒度的模块,以及其他变形方式。
以上描述的各个实施例之间相同或相似的部分可相互参考。本申请中的“多个”若无特殊说明,指两个或两个以上,或“至少两个”。本申请中的“A/B”包括三种情况:“A”、“B”和“A和B”。本申请中“第一”、“第二”、或“第三”等仅为了区分表述,没有限定顺序的意思;另外,第一对象和第二对象在某些情况下有可能合并或指同一对象;再者,由于没有限定顺序,所以没有第一,也可以有第二或第三。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一些具体实施方式,但本申请的保护范围并不局限于此。
Claims (9)
1.一种设备发现方法,其特征在于,包括:
当第一设备确定所述第一设备与接入点设备存在Wi-Fi连接时,所述第一设备不在任何信道上执行用于发现支持Wi-Fi点对点P2P的设备的操作,所述操作为扫描、监听或搜索,且所述第一设备确定接收到的第一数据的类型,所述第一数据为通过所述Wi-Fi连接所在的第一信道接收到的数据;
当确定所述第一数据的类型为探测帧时,所述第一设备通过所述第一信道发送第一响应数据,所述第一响应数据用于响应所述探测帧以便于所述第一设备与发送所述探测帧的第二设备建立Wi-Fi P2P连接。
2.根据权利要求1所述的方法,其特征在于,还包括:
若在所述Wi-Fi连接建立之前,所述第一设备执行扫描、监听或搜索操作,则当所述第一设备确定所述第一设备与接入点设备存在Wi-Fi连接时,停止所述扫描、监听或搜索操作。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
当所述第一设备确定所述第一信道指示第一网络类型时,所述第一设备监听属于第二网络类型的至少一个第二信道;
所述第一设备确定接收到的第二数据的类型,所述第二数据为通过所述至少一个第二信道接收到的数据;
当确定所述第二数据为探测帧时,所述第一设备通过所述至少一个第二信道发送第二响应数据,所述第二响应数据用于响应所述探测帧以便于所述第一设备与发送所述探测帧的第二设备建立Wi-Fi P2P连接。
4.根据权利要求3所述的方法,其特征在于,所述第一网络类型为5G,所述第二网络类型为2.4G。
5.根据权利要求3所述的方法,其特征在于,所述第一信道的工作时间长于所述至少一个第二信道的工作时间,其中所述工作时间为多个信道交替工作时每个信道的工作时长。
6.根据权利要求1或2所述的方法,其特征在于,所述第一设备确定所述第一设备与接入点设备存在Wi-Fi连接,包括:
所述第一设备获取所述第一设备的Wi-Fi连接状态信息,所述Wi-Fi连接状态信息用于指示所述第一设备与所述接入点设备建立了连接。
7.一种计算机设备,其特征在于,包括处理器和存储器,其中所述存储器用于存储计算机可读指令,所述处理器用于执行所述计算机可读指令以实现如权利要求1-6任意一项所述的方法。
8.一种计算机存储介质,其特征在于,所述计算机存储介质用于存储计算机可读指令,当所述计算机可读指令被一个或多个处理器执行时实现如权利要求1-6任意一项所述的方法。
9.一种设备发现装置,其特征在于,应用于第一设备,包括:
信息获取单元,用于确定与接入点设备存在Wi-Fi连接;
数据类型判断单元,用于在所述信息获取单元确定存在所述Wi-Fi连接时,不在任何信道上执行用于发现支持Wi-Fi点对点P2P的设备的操作,所述操作为扫描、监听或搜索,确定接收到的第一数据的类型,所述第一数据为通过所述Wi-Fi连接所在的第一信道接收到的数据;
发送单元,用于当所述数据类型判断单元确定所述第一数据的类型为探测帧时,通过所述第一信道发送第一响应数据,所述第一响应数据用于响应所述探测帧以便于所述第一设备与发送所述探测帧的第二设备建立Wi-Fi P2P连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910731633.2A CN112351417B (zh) | 2019-08-08 | 2019-08-08 | 设备发现方法、装置以及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910731633.2A CN112351417B (zh) | 2019-08-08 | 2019-08-08 | 设备发现方法、装置以及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112351417A CN112351417A (zh) | 2021-02-09 |
CN112351417B true CN112351417B (zh) | 2022-03-29 |
Family
ID=74366846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910731633.2A Active CN112351417B (zh) | 2019-08-08 | 2019-08-08 | 设备发现方法、装置以及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112351417B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112969081B (zh) * | 2021-02-10 | 2023-05-30 | 深圳创维-Rgb电子有限公司 | 一种电视分屏投屏方法、系统及智能电视 |
CN113207144A (zh) * | 2021-05-06 | 2021-08-03 | 北京字跳网络技术有限公司 | 投屏设备无线网络探测方法、装置、介质和投屏设备 |
CN113162830B (zh) * | 2021-06-15 | 2022-04-26 | 杭州海康威视数字技术股份有限公司 | 一种物联网智能终端设备发现方法、装置及电子设备 |
CN114051035B (zh) * | 2021-11-15 | 2023-11-03 | 四川长虹电器股份有限公司 | 一种Wi-Fi P2P短连接的数据协同方法 |
CN114071785A (zh) * | 2021-12-28 | 2022-02-18 | 佛山佑尔汽车智能技术有限公司 | 一种基于射频背景噪声感知的自适应信道选择方法及系统 |
CN116055693B (zh) * | 2022-07-21 | 2024-04-02 | 荣耀终端有限公司 | 投屏方法、电子设备、系统及计算机可读存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130102322A (ko) * | 2012-03-07 | 2013-09-17 | 삼성전자주식회사 | 다수 스크린의 원격 제어 방법 및 장치 |
CN103997795A (zh) * | 2013-02-18 | 2014-08-20 | 三星电子株式会社 | 电子装置及其无线保真对等连接方法 |
WO2014190004A1 (en) * | 2013-05-22 | 2014-11-27 | Intel IP Corporation | Wireless communication in radar transmission channels |
WO2015119329A1 (ko) * | 2014-02-07 | 2015-08-13 | 엘지전자 주식회사 | 무선 통신 시스템에서 디스커버리를 수행하는 방법 및 장치 |
WO2015167269A1 (ko) * | 2014-04-29 | 2015-11-05 | 엘지전자 주식회사 | 무선 통신 시스템에서 서비스 디스커버리 방법 및 장치 |
CN105340330A (zh) * | 2013-06-28 | 2016-02-17 | Lg电子株式会社 | 用于在直接通信系统中搜索装置的方法及使用该方法的装置 |
CN105472778A (zh) * | 2015-12-24 | 2016-04-06 | 小米科技有限责任公司 | 建立无线连接的方法及装置 |
WO2017018823A1 (ko) * | 2015-07-30 | 2017-02-02 | 엘지전자 주식회사 | 무선 통신 시스템에서 어플리케이션 서비스 플랫폼 세션 형성 방법 및 장치 |
CN106604403A (zh) * | 2017-01-12 | 2017-04-26 | 惠州Tcl移动通信有限公司 | 一种基于Miracast协议的信道选择方法及系统 |
CN107070933A (zh) * | 2013-05-23 | 2017-08-18 | 高通股份有限公司 | 建立和控制Wi‑Fi显示连接的音频和语音反向信道 |
CN107852590A (zh) * | 2015-07-21 | 2018-03-27 | Lg 电子株式会社 | 在无线通信系统中执行发现的方法和装置 |
CN108605374A (zh) * | 2016-02-24 | 2018-09-28 | 三星电子株式会社 | 显示设备及设置显示设备的工作信道的方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4518183B2 (ja) * | 2008-04-28 | 2010-08-04 | ソニー株式会社 | 無線通信システム、無線通信装置、無線通信方法及びプログラム |
US8576870B2 (en) * | 2010-06-09 | 2013-11-05 | Apple Inc. | Access point systems |
KR101735334B1 (ko) * | 2010-11-25 | 2017-05-15 | 삼성전자 주식회사 | 와이파이 P2P 디바이스(Wi-Fi Peer to Peer Device)의 디스커버리(Discovery) 방법 및 장치 |
KR101814810B1 (ko) * | 2011-08-08 | 2018-01-04 | 삼성전자주식회사 | 와이파이 다이렉트를 이용한 와이파이 피투피 그룹을 형성하는 방법 및 장치 |
KR101891145B1 (ko) * | 2011-12-13 | 2018-08-24 | 삼성전자주식회사 | 무선 시스템에서 디바이스 디스커버리 운용 방법 및 장치 |
KR101976518B1 (ko) * | 2012-10-22 | 2019-05-10 | 삼성전자주식회사 | 와이파이 p2p 연결이 가능한 단말 장치와 와이파이 p2p 연결 방법 |
US9055513B2 (en) * | 2013-02-26 | 2015-06-09 | Qualcomm Incorporated | Scalable discovery in contention-based peer-to-peer wireless networks |
CN104955168A (zh) * | 2015-05-18 | 2015-09-30 | 乐视致新电子科技(天津)有限公司 | 音频数据发送处理方法、接收处理方法及设备 |
-
2019
- 2019-08-08 CN CN201910731633.2A patent/CN112351417B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130102322A (ko) * | 2012-03-07 | 2013-09-17 | 삼성전자주식회사 | 다수 스크린의 원격 제어 방법 및 장치 |
CN103997795A (zh) * | 2013-02-18 | 2014-08-20 | 三星电子株式会社 | 电子装置及其无线保真对等连接方法 |
WO2014190004A1 (en) * | 2013-05-22 | 2014-11-27 | Intel IP Corporation | Wireless communication in radar transmission channels |
CN107070933A (zh) * | 2013-05-23 | 2017-08-18 | 高通股份有限公司 | 建立和控制Wi‑Fi显示连接的音频和语音反向信道 |
CN105340330A (zh) * | 2013-06-28 | 2016-02-17 | Lg电子株式会社 | 用于在直接通信系统中搜索装置的方法及使用该方法的装置 |
WO2015119329A1 (ko) * | 2014-02-07 | 2015-08-13 | 엘지전자 주식회사 | 무선 통신 시스템에서 디스커버리를 수행하는 방법 및 장치 |
WO2015167269A1 (ko) * | 2014-04-29 | 2015-11-05 | 엘지전자 주식회사 | 무선 통신 시스템에서 서비스 디스커버리 방법 및 장치 |
CN107852590A (zh) * | 2015-07-21 | 2018-03-27 | Lg 电子株式会社 | 在无线通信系统中执行发现的方法和装置 |
WO2017018823A1 (ko) * | 2015-07-30 | 2017-02-02 | 엘지전자 주식회사 | 무선 통신 시스템에서 어플리케이션 서비스 플랫폼 세션 형성 방법 및 장치 |
CN105472778A (zh) * | 2015-12-24 | 2016-04-06 | 小米科技有限责任公司 | 建立无线连接的方法及装置 |
CN108605374A (zh) * | 2016-02-24 | 2018-09-28 | 三星电子株式会社 | 显示设备及设置显示设备的工作信道的方法 |
CN106604403A (zh) * | 2017-01-12 | 2017-04-26 | 惠州Tcl移动通信有限公司 | 一种基于Miracast协议的信道选择方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112351417A (zh) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112351417B (zh) | 设备发现方法、装置以及计算机设备 | |
US11843721B2 (en) | Method and terminal for supporting voice service and data service simultaneously | |
US10237901B2 (en) | Method and apparatus for connecting with controlled smart device, and storage medium | |
JP6122558B2 (ja) | 通信方法、通信装置、プログラム及び記録媒体 | |
US11218951B2 (en) | Method and apparatus for obtaining and transmitting system information | |
EP3092781B1 (en) | Peripherals in a wireless docking system | |
EP2437463B1 (en) | Apparatus and method for providing service in service zone | |
CN110012328B (zh) | 一种与智能电视交互的方法及装置 | |
US20230039861A1 (en) | Projection Connection Control Method And Electronic Device | |
CN112350981B (zh) | 一种切换通信协议的方法、装置和系统 | |
US9258672B2 (en) | Short-range wireless communication device | |
WO2022089088A1 (zh) | 显示设备、移动终端、投屏数据传输方法及传输系统 | |
KR102514692B1 (ko) | 다중 무선 통신 프로토콜들을 지원하는 전자 장치 및 이를 위한 방법 | |
EP3783957B1 (en) | Transmission path switching method, computer-readable storage medium and device | |
CN111277985A (zh) | WiFi网络连接方法及设备 | |
JP6491237B2 (ja) | タッチスクリーンのポイント報告を処理するための方法、装置、プログラム、及び記録媒体 | |
EP4054198A1 (en) | Live broadcast method and apparatus, electronic device, and storage medium | |
CN110870292A (zh) | 在多用户识别模块sim多待机电子设备中选择性地传送一项或多项服务 | |
KR20220039763A (ko) | 다중 네트워크 액세스 방법 및 단말 장비 | |
EP4021026B1 (en) | Notification message control method and related apparatus | |
CN105516972A (zh) | 网络连接方法及装置 | |
US11678391B2 (en) | Communication methods and electronic devices | |
CN114980224B (zh) | WiFi热点的切换方法、终端设备及存储介质 | |
US20190102123A1 (en) | Communication Device, and Non-Transitory Computer-Readable Recording Medium Storing Computer-Readable Instructions for Terminal Device | |
CN114786058B (zh) | 多媒体数据展示方法、装置、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |