局域网设备发现方法及装置制造方法

文档序号:7804622阅读:449来源:国知局
局域网设备发现方法及装置制造方法
【专利摘要】本发明是关于一种局域网设备发现方法及装置,涉及无线通信【技术领域】,可解决局域网设备发现较慢的技术问题。所述方法包括:根据发现设备自身支持的至少两个协议在局域网中发送至少两个组播消息;接收所述各个被发现设备响应第一组播消息后反馈的第一组播响应消息;根据所述各个被发现设备的设备标识探测所述各个被发现设备中与其他协议对应的监听端口是否有效,得到探测结果;根据所述探测结果确定所述各个被发现设备支持的协议。本发明用于发现局域网设备及设备所支持的协议。
【专利说明】局域网设备发现方法及装置
【技术领域】
[0001]本公开涉及无线通信【技术领域】,尤其涉及一种局域网设备发现方法及装置。
【背景技术】
[0002]随着智能终端的普及、以及无线局域网的进一步覆盖,在局域网中的多个终端之间实现文件共享逐渐成为一种趋势,例如,可以将手机上的本地文件投射到电视上进行展
/Jn ο
[0003]当需要在局域网中向其他设备投射图片、视频、音乐等多媒体文件时,首先需要发现局域网中的其他设备、以及其他设备支持的协议类型。相关技术中,主要采用发组播的方式来发现设备。例如,手机支持A、B协议,手机在发现局域网中的其他设备时,需要在当前局域网中发送A协议组播和B协议组播;如果当前局域网中存在机顶盒,并且该机顶盒支持A协议和B协议,则机顶盒依次向手机反馈自身所支持协议的监听端口号;手机在接收到机顶盒反馈的监听端口号后,就可以发现机顶盒、并且获知机顶盒所支持的协议类型。
[0004]相关技术中存在如下问题:当手机和机顶盒兼容多套协议时,由于不同协议的组播机制互不相同,存在某种协议发现机顶盒过程较慢的问题。

【发明内容】

[0005]为克服相关技术中存在的问题,本公开实施例提供一种局域网设备发现方法及装置。
[0006]根据本公开实施例的第一方面,提供一种局域网设备发现方法,包括:
[0007]根据发现设备自身支持的至少两个协议在局域网中发送至少两个组播消息,所述至少两个组播消息用于探测所述局域网中各个被发现设备中与所述至少两个协议对应的监听端口是否有效,所述至少两个协议与所述至少两个组播消息相对应;
[0008]接收所述各个被发现设备响应第一组播消息后反馈的第一组播响应消息,所述第一组播响应消息中包括所述各个被发现设备中与第一协议对应的监听端口有效的信息、以及所述各个被发现设备的设备标识,所述第一协议是所述至少两个协议中的任一协议,所述第一组播消息是所述至少两个组播消息中与所述第一协议对应的组播消息;
[0009]根据所述各个被发现设备的设备标识探测所述各个被发现设备中与其他协议对应的监听端口是否有效,得到探测结果,所述其他协议为所述至少两个协议中除所述第一协议外的剩余协议,所述探测结果包括所述各个被发现设备的有效监听端口 ;
[0010]根据所述探测结果确定所述各个被发现设备支持的协议。
[0011]本公开的实施例提供的技术方案可以实现以下有益效果:使用发现速度最快的协议就能发现设备支持的其他协议,相比每套协议都去发组播消息才能发现设备支持的其他协议的方式,设备及设备所支持的协议发现速度更快。
[0012]可选的,所述根据所述设备标识探测所述各个被发现设备中与其他协议对应的监听端口是否有效,得到探测结果,包括:[0013]根据所述各个被发现设备的设备标识向所述各个被发现设备发送点对点探测消息,所述点对点探测消息用于探测所述各个被发现设备中与所述其他协议对应的监听端口是否有效;
[0014]所述根据所述探测结果确定所述各个被发现设备支持的协议,包括:
[0015]接收所述各个被发现设备响应所述点对点探测消息后反馈的点对点数据包,所述点对点数据包中包括所述各个被发现设备中与所述其他协议对应的监听端口是否有效的
信息;
[0016]根据所述点对点数据包确定所述各个被发现设备支持的协议。
[0017]在可选方案中,可以在发现设备支持一个协议后,通过发送点对点探测消息探测设备上其他协议对应的监听端口是否有效,由于点对点数据的传输过程要快于组播数据的传输过程,所以通过发送点对点探测消息探测设备上的监听端口是否有效,能够提高发现设备发现局域网中其他设备所支持的其他协议的速度。
[0018]可选的,在所述接收所述各个被发现设备响应所述点对点探测消息后反馈的点对点数据包之前,所述方法还包括:
[0019]接收所述各个被发现设备反馈响应其他组播消息后反馈的其他组播响应消息,所述其他组播响应消息中包括所述各个被发现设备中与所述其他协议对应的监听端口有效的信息、以及所述各个被发现设备的设备标识;所述其他组播消息与所述其他协议相对应;
[0020]根据所述其他组播响应消息确定所述各个被发现设备支持的协议。
[0021]在可选方案中,点对点数据包和组播响应消息哪个反馈回来的早,发现设备就根据哪个来确定设备所支持的协议类型。这样,在保证设备及设备支持协议的发速度的同时,也提高了发现的准确度。
[0022]可选的,所述根据所述各个被发现设备的设备标识向所述各个被发现设备发送点对点探测消息,包括:
[0023]根据所述各个被发现设备的设备标识,向所述各个被发现设备中所述其他协议对应的监听端口发送点对点探测消息;
[0024]所述根据所述探测结果确定所述各个被发现设备支持的协议,包括:
[0025]接收所述各个被发现设备中所述其他协议对应的监听端口响应所述点对点探测消息后反馈的点对点数据包,所述点对点数据包中包括所述各个被发现设备中与所述其他协议对应的监听端口是否有效的信息;
[0026]根据所述点对点数据包确定所述各个被发现设备支持的协议。
[0027]在可选方案中,由于通过最先收到的组播响应消息已获得该设备的设备标识如IP地址,而其他协议对应的监听端口编号是已知的,因此,可以直接向该设备的其他监听端口发送点对点探测消息,进而可以快速地根据这些监听端口是否有效确定该设备支持的协议。
[0028]可选的,所述根据所述设备标识探测所述各个被发现设备中与其他协议对应的监听端口是否有效,得到探测结果,包括:
[0029]根据所述各个被发现设备的设备标识通过传输控制协议TCP连接所述各个被发现设备中所述其他协议对应的监听端口;[0030]所述根据所述探测结果确定所述各个被发现设备支持的协议,包括:
[0031]当成功连接所述监听端口时,确定所述各个被发现设备支持所述监听端口对应的协议。
[0032]在可选方案中,采用直接TCP连接方式确定设备支持的协议,由于在确定被发现设备后,与该被发现设备建立TCP连接的速度更快,因此,设备及设备所支持的协议发现速度也更快。
[0033]根据本公开实施例的第二方面,提供一种局域网设备发现装置,包括:
[0034]发送模块,用于根据发现设备自身支持的至少两个协议在局域网中发送至少两个组播消息,所述至少两个组播消息用于探测所述局域网中各个被发现设备中与所述至少两个协议对应的监听端口是否有效,所述至少两个协议与所述至少两个组播消息相对应;
[0035]接收模块,用于接收所述各个被发现设备响应第一组播消息后反馈的第一组播响应消息,所述第一组播响应消息中包括所述各个被发现设备中与第一协议对应的监听端口有效的信息、以及所述各个被发现设备的设备标识,所述第一协议是所述至少两个协议中的任一协议,所述第一组播消息是所述至少两个组播消息中与所述第一协议对应的组播消息;
[0036]探测模块,用于根据所述各个被发现设备的设备标识探测所述各个被发现设备中与其他协议对应的监听端口是否有效,得到探测结果,所述其他协议为所述至少两个协议中除所述第一协议外的剩余协议,所述探测结果包括所述各个被发现设备的有效监听端Π ;
[0037]分析模块,用于根据所述探测结果确定所述各个被发现设备支持的协议。
[0038]本公开的实施例提供的技术方案可以实现以下有益效果:使用发现速度最快的协议就能发现设备支持的其他协议,相比每套协议都去发组播消息才能发现设备支持的其他协议的方式,设备及设备所支持的协议发现速度更快。
[0039]可选的,所述探测模块,用于根据所述各个被发现设备的设备标识向所述各个被发现设备发送点对点探测消息,所述点对点探测消息用于探测所述各个被发现设备的中与所述其他协议对应的监听端口是否有效;
[0040]所述分析模块包括:
[0041]接收单元,用于接收所述各个被发现设备响应所述点对点探测消息后反馈的点对点数据包,所述点对点数据包中包括所述各个被发现设备中与其他协议对应的监听端口是否有效的信息;
[0042]确定单元,用于根据所述点对点数据包确定所述各个被发现设备支持的协议。
[0043]在可选方案中,可以在发现设备支持一个协议后,通过发送点对点探测消息探测设备上其他协议对应的监听端口是否有效,由于点对点数据的传输过程要快于组播数据的传输过程,所以通过发送点对点探测消息探测设备上的监听端口是否有效,能够提高发现设备发现局域网中其他设备所支持的其他协议的速度。
[0044]可选的,所述接收模块,用于在所述接收单元接收所述各个被发现设备反馈的点对点数据包之前,接收所述各个被发现设备反馈响应其他组播消息后反馈的其他组播响应消息,所述其他组播响应消息中包括所述各个被发现设备中与其他协议对应的监听端口有效的信息、以及所述各个被发现设备的设备标识;所述确定单元,用于根据所述其他组播响应消息确定所述各个被发现设备支持的协议。
[0045]在可选方案中,点对点数据包和组播响应消息哪个反馈回来的早,发现设备就根据哪个来确定设备所支持的协议类型。这样,在保证设备及设备支持协议的发速度的同时,也提高了发现的准确度。
[0046]可选的,所述探测模块,用于根据所述各个被发现设备的设备标识,向所述各个被发现设备中所述其他协议对应的监听端口发送点对点探测消息;
[0047]所述接收单元,用于接收所述各个被发现设备中所述其他协议对应的监听端口响应所述点对点探测消息后反馈的点对点数据包,所述点对点数据包中包括所述各个被发现设备中与所述其他协议对应的监听端口是否有效的信息;
[0048]所述确定单元,用于根据所述点对点数据包确定所述各个被发现设备支持的协议。
[0049]在可选方案中,由于通过最先收到的组播响应消息已获得该设备的设备标识如IP地址,而其他协议对应的监听端口编号是已知的,因此,可以直接向该设备的其他监听端口发送点对点探测消息,进而可以快速地根据这些监听端口是否有效确定该设备支持的协议。
[0050]可选的,所述探测模块,用于根据所述各个被发现设备的设备标识通过传输控制协议TCP连接所述各个被发现设备中其他协议对应的监听端口 ;
[0051 ] 所述分析模块,用于当成功连接所述监听端口时,确定所述各个被发现设备支持所述监听端口对应的协议。
[0052]在可选方案中,采用直接TCP连接方式确定设备支持的协议,由于在确定被发现设备后,与该被发现设备建立TCP连接的速度更快,因此,设备及设备所支持的协议发现速度也更快。
[0053]根据本公开实施例的第三方面,提供一种局域网设备发现装置,包括:
[0054]处理器;
[0055]用于存储处理器可执行指令的存储器;
[0056]其中,所述处理器被配置为:
[0057]根据发现设备自身支持的至少两个协议在局域网中发送至少两个组播消息,所述至少两个组播消息用于探测所述局域网中各个被发现设备中与所述至少两个协议对应的监听端口是否有效,所述至少两个协议与所述至少两个组播消息相对应;
[0058]接收所述各个被发现设备响应第一组播消息后反馈的第一组播响应消息,所述第一组播响应消息中包括所述各个被发现设备中与第一协议对应的监听端口有效的信息、以及所述各个被发现设备的设备标识,所述第一协议是所述至少两个协议中的任一协议,所述第一组播消息是所述至少两个组播消息中与所述第一协议对应的组播消息;
[0059]根据所述各个被发现设备的设备标识探测所述各个被发现设备中与其他协议对应的监听端口是否有效,得到探测结果,所述其他协议为所述至少两个协议中除所述第一协议外的剩余协议,所述探测结果包括所述各个被发现设备的有效监听端口 ;
[0060]根据所述探测结果确定所述各个被发现设备支持的协议。
[0061]本公开的实施例提供的技术方案可以实现以下有益效果:使用发现速度最快的协议就能发现设备支持的其他协议,相比每套协议都去发组播消息才能发现设备支持的其他协议的方式,设备及设备所支持的协议发现速度更快。
[0062]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
【专利附图】

【附图说明】
[0063]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
[0064]图1是根据一示例性实施例示出的一种局域网设备发现方法的流程图;
[0065]图2是根据一示例性实施例示出的一种局域网设备发现方法的流程图;
[0066]图3是根据另一示例性实施例示出的一种局域网设备发现方法的流程图;
[0067]图4是根据一示例性实施例示出的一种局域网设备发现装置的框图;
[0068]图5是根据一示例性实施例示出的分析模块的框图;
[0069]图6是根据一示例性实施例示出的一种用于局域网设备发现的装置800的框图。【具体实施方式】
[0070]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0071]本公开提供一种在兼容多套协议的设备上快速发现设备的方法,快速发现局域网中的设备以及该设备所支持的协议类型。
[0072]图1是根据一示例性实施例示出的一种局域网设备发现方法的流程图,如图1所示,该局域网设备发现方法应用于发现设备中,包括以下步骤。
[0073]在步骤Sll中,根据发现设备自身支持的至少两个协议在局域网中发送至少两个组播消息,至少两个组播消息用于探测局域网中各个被发现设备中与至少两个协议对应的监听端口是否有效,至少两个协议与至少两个组播消息相对应;
[0074]在步骤S12中,接收各个被发现设备响应第一组播消息后反馈的第一组播响应消息,第一组播响应消息中包括各个被发现设备中与第一协议对应的监听端口有效的信息、以及各个被发现设备的设备标识,第一协议是至少两个协议中的任一协议,第一组播消息是至少两个组播消息中与第一协议对应的组播消息;
[0075]在步骤S13中,根据各个被发现设备的设备标识探测各个被发现设备中与其他协议对应的监听端口是否有效,得到探测结果,其他协议为至少两个协议中除第一协议外的剩余协议,探测结果包括各个被发现设备的有效监听端口 ;
[0076]在步骤S14中,根据探测结果确定各个被发现设备支持的协议。
[0077]为了描述方便,将设备上的一个协议服务用“模块”表示。比如某个设备支持A,B和C三套协议,则认为这个设备具备三个模块,分别为A模块,B模块和C模块。本公开实施例中的A、B、C协议可以为DLNA,AirPlay和Airkan等不同的协议。
[0078]假设局域网中的某个设备配置有A模块和B模块,该设备上A模块的发现速度快于B模块。那么,发现设备在发现了 A模块后,由于通过A模块的组播响应消息已获得该设备的设备标识如IP地址,而B模块的监听端口编号是已知的,因此发现设备可以马上去探测该设备上的B模块的监听端口是否有效,就可以探测B模块是否发现。如果发现B模块,那么通过A模块的一次组播,就可以发现该设备上的其他模块,而不用等到其他模块的组播交互过程发生后才确定该设备所支持的协议类型。
[0079]在本实施例中,使用发现速度最快的协议就能发现设备支持的其他协议,相比每套协议都去发组播消息并接收组播相应消息才能发现设备支持的其他协议的方式,设备及设备所支持的协议发现速度更快。
[0080]可选的,步骤S13包括:根据各个被发现设备的设备标识向各个被发现设备发送点对点探测消息,点对点探测消息用于探测各个被发现设备中与其他协议对应的监听端口是否有效。步骤S14包括:接收各个被发现设备响应点对点探测消息后反馈的点对点数据包,点对点数据包中包括各个被发现设备中与其他协议对应的监听端口是否有效的信息;根据点对点数据包确定各个被发现设备支持的协议。
[0081]在可选方案中,可以在发现设备支持一个协议后,通过发送点对点探测消息探测设备上其他协议对应的监听端口是否有效,由于点对点数据的传输过程要快于组播数据的传输过程,所以通过发送点对点探测消息探测设备上的监听端口是否有效,能够提高发现设备发现局域网中其他设备所支持的其他协议的速度。
[0082]可选的,在步骤S13中,根据各个被发现设备的设备标识向各个被发现设备发送点对点探测消息,包括:根据各个被发现设备的设备标识,向各个被发现设备中其他协议对应的监听端口发送点对点探测消息。在步骤S14中,根据探测结果确定各个被发现设备支持的协议,包括:接收各个被发现设备中其他协议对应的监听端口响应点对点探测消息后反馈的点对点数据包,点对点数据包中包括各个被发现设备中与其他协议对应的监听端口是否有效的信息;根据点对点数据包确定各个被发现设备支持的协议。
[0083]在可选方案中,由于通过最先收到的组播响应消息已获得该设备的设备标识如IP地址,而其他协议对应的监听端口编号是已知的,因此,可以直接向该设备的其他监听端口发送点对点探测消息,进而可以快速地根据这些监听端口是否有效确定该设备支持的协议。
[0084]可选的,在接收各个被发现设备响应点对点探测消息后反馈的点对点数据包之前,本实施例的方法还包括:
[0085]接收各个被发现设备反馈响应其他组播消息后反馈的其他组播响应消息,其他组播响应消息中包括各个被发现设备中与其他协议对应的监听端口有效的信息、以及各个被发现设备的设备标识;其他组播消息与其他协议相对应;
[0086]根据其他组播响应消息确定各个被发现设备支持的协议。
[0087]在可选方案中,点对点数据包和组播响应消息哪个反馈回来的早,发现设备就根据哪个来确定设备所支持的协议类型。这样,在保证设备及设备支持协议的发速度的同时,也提高了发现的准确度。
[0088]可选的,步骤S13包括:根据各个被发现设备的设备标识通过传输控制协议TCP连接各个被发现设备中其他协议对应的监听端口。步骤S14包括:当成功连接监听端口时,确定各个被发现设备支持监听端口对应的协议。
[0089]在可选方案中,采用直接TCP连接方式确定设备支持的协议,由于在确定被发现设备后,与该被发现设备建立TCP连接的速度更快,因此,设备及设备所支持的协议发现速度也更快。
[0090]在本公开实施例中,为了提高被发现设备支持协议的准确度,发现设备在确定设备支持的协议类型后,向该设备发送针对各个协议的认证消息,如果获得该设备反馈的认证成功消息,则可以确定该设备的确支持这些协议类型。
[0091]下面以一个具体的实例对本公开的方法进行详细说明。
[0092]本实例中,手机支持A,B和C三套协议,当前局域网中可能存在多个待发现设备:设备1、设备2……等。本实施例以设备I的发现过程为例进行说明,其他设备的发现过程与设备I的发现过程类似,不再赘述。
[0093]示例一
[0094]图2是根据一示例性实施例示出的一种局域网设备发现方法的流程图,如图2所示,该局域网设备发现方法包括以下步骤。
[0095]步骤S21中,当激活手机的发现设备功能时,手机通过A,B和C三套协议分别发送
组播消息。
[0096]步骤S22中,设备I最先接收到手机发送的A协议组播消息,确定自身A监听端口有效,则向手机反馈A组播响应消息。
[0097]值得说明的是,本实施例是以设备I最先接收到的组播消息为A协议组播消息为例进行说明。实际应用中,手机发送不同协议组播消息的频率和策略都不一样,设备I接收到的协议组播的顺序有所不同。 [0098]步骤S23中,手机接收设备I反馈的A组播响应消息,确定设备I的A协议监听端口有效,即手机发现了设备1,且获知设备I支持A协议。
[0099]步骤S24中,设备I向手机反馈的A组播响应消息包括设备I的IP地址,手机根据该IP地址向设备I发送点对点探测消息。
[0100]本实施例中,除了 A协议,手机还支持C协议和B协议。则手机根据设备I的标识向设备I的B监听端口发送点对点探测消息,以及向设备I的C监听端口发送点对点探测消息。
[0101]步骤S25中,设备I对点对点探测消息进行响应,向手机反馈点对点数据包,点对点数据包中包括设备I中其他协议的监听端口是否有效的信息。
[0102]假设设备I也支持A,B和C三套协议;则设备I发送的点对点数据包中包括如下信息:B监听端口有效和C监听端口有效。
[0103]步骤S26中,手机接收设备I反馈的点对点数据包,根据点对点数据包获知设备I支持的所有协议类型。
[0104]示例二
[0105]图3是根据另一示例性实施例示出的一种局域网设备发现方法的流程图,如图3所示,该局域网设备发现方法还可以包括以下步骤。
[0106]步骤S31-S33与上述步骤S21-S23相同。
[0107]在步骤S34中,设备I向手机反馈的A组播响应消息包括设备I的IP地址,手机根据该IP地址通过TCP直接连接设备I上的B监听端口和C监听端口。
[0108]在步骤S35中,当连接成功时,手机确定设备I支持相应协议。[0109]上述两个示例中,在发现设备支持的一个协议后,无论是通过点对点探测监听端口是否有效,还是通过TCP连接方式探测监听端口是否有效,都能够快速地发现局域网中的设备及设备所支持的协议。
[0110]图4是根据一示例性实施例示出的一种局域网设备发现装置的框图。参照图4,该装置包括发送模块41,接收模块42,探测模块43和分析模块44。
[0111]发送模块41被配置为根据发现设备自身支持的至少两个协议在局域网中发送至少两个组播消息,至少两个组播消息用于探测局域网中各个被发现设备中与至少两个协议对应的监听端口是否有效,至少两个协议与至少两个组播消息相对应;
[0112]接收模块42被配置为接收各个被发现设备响应第一组播消息后反馈的第一组播响应消息,第一组播响应消息中包括各个被发现设备中与第一协议对应的监听端口有效的信息、以及各个被发现设备的设备标识,第一协议是至少两个协议中的任一协议,第一组播消息是至少两个组播消息中与第一协议对应的组播消息;
[0113]探测模块43被配置为根据各个被发现设备的设备标识探测各个被发现设备中与其他协议对应的监听端口是否有效,得到探测结果,其他协议为至少两个协议中除第一协议外的剩余协议,探测结果包括各个被发现设备的有效监听端口 ;
[0114]分析模块44被配置为根据探测结果确定各个被发现设备支持的协议。
[0115]可选的,探测模块43被配置为根据各个被发现设备的设备标识向各个被发现设备发送点对点探测消息,点对点探测消息用于探测各个被发现设备的中与其他协议对应的监听端口是否有效;
[0116]如图5所示,分析模块44包括:
[0117]接收单元441被配置为接收各个被发现设备响应所述点对点探测消息后反馈的点对点数据包,点对点数据包中包括各个被发现设备中与其他协议对应的监听端口是否有效的信息;
[0118]确定单元442被配置为根据点对点数据包确定各个被发现设备支持的协议。
[0119]可选的,接收模块41被配置为在接收单元441接收各个被发现设备反馈的点对点数据包之前,接收各个被发现设备反馈响应其他组播消息后反馈的其他组播响应消息,其他组播响应消息中包括各个被发现设备中与其他协议对应的监听端口有效的信息、以及各个被发现设备的设备标识;确定单元442被配置为根据其他组播响应消息确定各个被发现设备支持的协议。
[0120]可选的,探测模块43被配置为根据各个被发现设备的设备标识,向各个被发现设备中其他协议对应的监听端口发送点对点探测消息。接收单元441被配置为接收各个被发现设备中其他协议对应的监听端口响应点对点探测消息后反馈的点对点数据包,点对点数据包中包括各个被发现设备中与其他协议对应的监听端口是否有效的信息。确定单元442被配置为根据点对点数据包确定各个被发现设备支持的协议。
[0121]可选的,探测模块43被配置为根据各个被发现设备的设备标识通过传输控制协议TCP连接各个被发现设备中其他协议对应的监听端口 ;
[0122]分析模块44被配置为当成功连接监听端口时,确定各个被发现设备支持监听端口对应的协议。
[0123]关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0124]本公开的装置实施例提供的技术方案可以实现以下有益效果:使用发现速度最快的协议就能发现设备支持的其他协议,相比每套协议都去发组播消息才能发现设备支持的其他协议的方式,设备及设备所支持的协议发现速度更快。
[0125]图6是根据一示例性实施例示出的一种用于实现局域网设备发现方法的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0126]参照图6,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口 812,传感器组件814,以及通信组件816。
[0127]处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
[0128]存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
[0129]电力组件806为装置800的各种组件提供电力。电力组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
[0130]多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0131]音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
[0132]I/0接口 812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0133]传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CXD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0134]通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UffB)技术,蓝牙(BT)技术和其他技术来实现。
[0135]在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSro)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0136]在示例性实施例中,还提供了一种局域网设备发现装置,包括:
[0137]处理器;
[0138]用于存储处理器可执行指令的存储器;
[0139]其中,所述处理器被配置为:
[0140]根据发现设备自身支持的至少两个协议在局域网中发送至少两个组播消息,至少两个组播消息用于探测局域网中各个被发现设备中与至少两个协议对应的监听端口是否有效,至少两个协议与至少两个组播消息相对应;
[0141]接收各个被发现设备响应第一组播消息后反馈的第一组播响应消息,第一组播响应消息中包括各个被发现设备中与第一协议对应的监听端口有效的信息、以及各个被发现设备的设备标识,第一协议是至少两个协议中的任一协议,第一组播消息是至少两个组播消息中与第一协议对应的组播消息;
[0142]根据各个被发现设备的设备标识探测各个被发现设备中与其他协议对应的监听端口是否有效,得到探测结果,其他协议为至少两个协议中除第一协议外的剩余协议,探测结果包括各个被发现设备的有效监听端口 ;
[0143]根据探测结果确定各个被发现设备支持的协议。
[0144]本公开的装置实施例提供的技术方案可以实现以下有益效果:使用发现速度最快的协议就能发现设备支持的其他协议,相比每套协议都去发组播消息才能发现设备支持的其他协议的方式,设备及设备所支持的协议发现速度更快。
[0145]在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
[0146]一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种局域网设备发现方法,所述方法包括:
[0147]根据发现设备自身支持的至少两个协议在局域网中发送至少两个组播消息,至少两个组播消息用于探测局域网中各个被发现设备中与至少两个协议对应的监听端口是否有效,至少两个协议与至少两个组播消息相对应;
[0148]接收各个被发现设备响应第一组播消息后反馈的第一组播响应消息,第一组播响应消息中包括各个被发现设备中与第一协议对应的监听端口有效的信息、以及各个被发现设备的设备标识,第一协议是至少两个协议中的任一协议,第一组播消息是至少两个组播消息中与第一协议对应的组播消息;
[0149]根据各个被发现设备的设备标识探测各个被发现设备中与其他协议对应的监听端口是否有效,得到探测结果,其他协议为至少两个协议中除第一协议外的剩余协议,探测结果包括各个被发现设备的有效监听端口 ;
[0150]根据探测结果确定各个被发现设备支持的协议。
[0151]可选的,根据设备标识探测各个被发现设备中与其他协议对应的监听端口是否有效,得到探测结果,包括:
[0152]根据各个被发现设备的设备标识向各个被发现设备发送点对点探测消息,点对点探测消息用于探测各个被发现设备中与其他协议对应的监听端口是否有效;
[0153]根据探测结果确定各个被发现设备支持的协议,包括:
[0154]接收各个被发现设备响应点对点探测消息后反馈的点对点数据包,点对点数据包中包括各个被发现设备中与其他协议对应的监听端口是否有效的信息;
[0155]根据点对点数据包确定各个被发现设备支持的协议。
[0156]可选的,在接收各个被发现设备响应点对点探测消息后反馈的点对点数据包之前,该方法还包括:
[0157]接收各个被发现设备反馈响应其他组播消息后反馈的其他组播响应消息,其他组播响应消息中包括各个被发现设备中与其他协议对应的监听端口有效的信息、以及各个被发现设备的设备标识;其他组播消息与其他协议相对应;
[0158]根据其他组播响应消息确定各个被发现设备支持的协议。
[0159]可选的,根据各个被发现设备的设备标识向各个被发现设备发送点对点探测消息,包括:
[0160]根据各个被发现设备的设备标识,向各个被发现设备中其他协议对应的监听端口发送点对点探测消息;
[0161]根据探测结果确定各个被发现设备支持的协议,包括:
[0162]接收各个被发现设备中其他协议对应的监听端口响应点对点探测消息后反馈的点对点数据包,点对点数据包中包括各个被发现设备中与其他协议对应的监听端口是否有效的信息;
[0163]根据点对点数据包确定各个被发现设备支持的协议。
[0164]可选的,根据设备标识探测各个被发现设备中与其他协议对应的监听端口是否有效,得到探测结果,包括:
[0165]根据各个被发现设备的设备标识通过传输控制协议TCP连接各个被发现设备中其他协议对应的监听端口;[0166]根据探测结果确定各个被发现设备支持的协议,包括:
[0167]当成功连接监听端口时,确定各个被发现设备支持监听端口对应的协议。
[0168]本公开的实施例提供的技术方案可以实现以下有益效果:使用发现速度最快的协议就能发现设备支持的其他协议,相比每套协议都去发组播消息才能发现设备支持的其他协议的方式,设备及设备所支持的协议发现速度更快。
[0169]本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本【技术领域】中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
[0170]应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
【权利要求】
1.一种局域网设备发现方法,其特征在于,包括: 根据发现设备自身支持的至少两个协议在局域网中发送至少两个组播消息,所述至少两个组播消息用于探测所述局域网中各个被发现设备中与所述至少两个协议对应的监听端口是否有效,所述至少两个协议与所述至少两个组播消息相对应; 接收所述各个被发现设备响应第一组播消息后反馈的第一组播响应消息,所述第一组播响应消息中包括所述各个被发现设备中与第一协议对应的监听端口有效的信息、以及所述各个被发现设备的设备标识,所述第一协议是所述至少两个协议中的任一协议,所述第一组播消息是所述至少两个组播消息中与所述第一协议对应的组播消息; 根据所述各个被发现设备的设备标识探测所述各个被发现设备中与其他协议对应的监听端口是否有效,得到探测结果,所述其他协议为所述至少两个协议中除所述第一协议外的剩余协议,所述探测结果包括所述各个被发现设备的有效监听端口 ; 根据所述探测结果确定所述各个被发现设备支持的协议。
2.根据权利要求1所述的方法,其特征在于,所述根据所述设备标识探测所述各个被发现设备中与其他协议对应的监听端口是否有效,得到探测结果,包括: 根据所述各个被发现设备的设备标识向所述各个被发现设备发送点对点探测消息,所述点对点探测消息用于探测所述各个被发现设备中与所述其他协议对应的监听端口是否有效; 所述根据所述探测结果确定所述各个被发现设备支持的协议,包括: 接收所述各个被发现设备响应所述点对点探测消息后反馈的点对点数据包,所述点对点数据包中包括所述各个被发现设备中与所述其他协议对应的监听端口是否有效的信息; 根据所述点对点数据包确定所述各个被发现设备支持的协议。
3.根据权利要求2所述的方法,其特征在于,在所述接收所述各个被发现设备响应所述点对点探测消息后反馈的点对点数据包之前,所述方法还包括: 接收所述各个被发现设备响应其他组播消息后反馈的其他组播响应消息,所述其他组播响应消息中包括所述各个被发现设备中与所述其他协议对应的监听端口有效的信息、以及所述各个被发现设备的设备标识;所述其他组播消息与所述其他协议相对应; 根据所述其他组播响应消息确定所述各个被发现设备支持的协议。
4.根据权利要求2或3所述的方法,其特征在于,所述根据所述各个被发现设备的设备标识向所述各个被发现设备发送点对点探测消息,包括: 根据所述各个被发现设备的设备标识,向所述各个被发现设备中所述其他协议对应的监听端口发送点对点探测消息; 所述根据所述探测结果确定所述各个被发现设备支持的协议,包括: 接收所述各个被发现设备中所述其他协议对应的监听端口响应所述点对点探测消息后反馈的点对点数据包,所述点对点数据包中包括所述各个被发现设备中与所述其他协议对应的监听端口是否 有效的信息; 根据所述点对点数据包确定所述各个被发现设备支持的协议。
5.根据权利要求1所述的方法,其特征在于,所述根据所述设备标识探测所述各个被发现设备中与其他协议对应的监听端口是否有效,得到探测结果,包括:根据所述各个被发现设备的设备标识通过传输控制协议TCP连接所述各个被发现设备中所述其他协议对应的监听端口; 所述根据所述探测结果确定所述各个被发现设备支持的协议,包括: 当成功连接所述监听端口时,确定所述各个被发现设备支持所述监听端口对应的协议。
6.一种局域网设备发现装置,其特征在于,包括: 发送模块,用于根据发现设备自身支持的至少两个协议在局域网中发送至少两个组播消息,所述至少两个组播消息用于探测所述局域网中各个被发现设备中与所述至少两个协议对应的监听端口是否有效,所述至少两个协议与所述至少两个组播消息相对应; 接收模块,用于接收所述各个被发现设备响应第一组播消息后反馈的第一组播响应消息,所述第一组播响应消息中包括所述各个被发现设备中与第一协议对应的监听端口有效的信息、以及所述各个被发现设备的设备标识,所述第一协议是所述至少两个协议中的任一协议,所述第一组播消息是所述至少两个组播消息中与所述第一协议对应的组播消息;探测模块,用于根据所述各个被发现设备的设备标识探测所述各个被发现设备中与其他协议对应的监听端口是否有效,得到探测结果,所述其他协议为所述至少两个协议中除所述第一协议外的剩余协议,所述探测结果包括所述各个被发现设备的有效监听端口 ;分析模块,用于根据所述探测结果确定所述各个被发现设备支持的协议。
7.根据权利要求6所述的装置,其特征在于, 所述探测模块,用于根据所述各个被发现设备的设备标识向所述各个被发现设备发送点对点探测消息,所述点对点探测消息用于探测所述各个被发现设备的中与其他协议对应的监听端口是否有效; 所述分析模块包括: 接收单元,用于接收所述各个被发现设备响应所述点对点探测消息后反馈的点对点数据包,所述点对点数据包中包括所述各个被发现设备中与所述其他协议对应的监听端口是否有效的信息; 确定单元,用于根据所述点对点数据包确定所述各个被发现设备支持的协议。
8.根据权利要求7所述的装置,其特征在于, 所述接收模块,用于在所述接收单元接收所述各个被发现设备反馈的点对点数据包之前,接收所述各个被发现设备反馈响应其他组播消息后反馈的其他组播响应消息,所述其他组播响应消息中包括所述各个被发现设备中与所述其他协议对应的监听端口有效的信息、以及所述各个被发现设备的设备标识; 所述确定单元,用于根据所述其他组播响应消息确定所述各个被发现设备支持的协议。
9.根据权利要求7或8所述的装置,其特征在于, 所述探测模块,用于根据所述各个被发现设备的设备标识,向所述各个被发现设备中所述其他协议对应的监听端口发送点对点探测消息; 所述接收单元,用于接收所述各个被发现设备中所述其他协议对应的监听端口响应所述点对点探测消息后反馈的点对点数据包,所述点对点数据包中包括所述各个被发现设备中与所述其他协议对应的监听端口是否有效的信息;所述确定单元,用于根据所述点对点数据包确定所述各个被发现设备支持的协议。
10.根据权利要求6所述的装置,其特征在于, 所述探测模块,用于根据所述各个被发现设备的设备标识通过传输控制协议TCP连接所述各个被发现设备中所述其他协议对应的监听端口; 所述分析模块,用于当成功连接所述监听端口时,确定所述各个被发现设备支持所述监听端口对应的协议。
11.一种局域网设备发现装置,其特征在于,包括: 处理器; 用于存储处理器可执行指令的存储器; 其中,所述处理器被配置为: 根据发现设备自身支持的至少两个协议在局域网中发送至少两个组播消息,所述至少两个组播消息用于探测所述局域网中各个被发现设备中与所述至少两个协议对应的监听端口是否有效,所述至少两个协议与所述至少两个组播消息相对应; 接收所述各个被发现设备响应第 一组播消息后反馈的第一组播响应消息,所述第一组播响应消息中包括所述各个被发现设备中与第一协议对应的监听端口有效的信息、以及所述各个被发现设备的设备标识,所述第一协议是所述至少两个协议中的任一协议,所述第一组播消息是所述至少两个组播消息中与所述第一协议对应的组播消息; 根据所述各个被发现设备的设备标识探测所述各个被发现设备中与其他协议对应的监听端口是否有效,得到探测结果,所述其他协议为所述至少两个协议中除所述第一协议外的剩余协议,所述探测结果包括所述各个被发现设备的有效监听端口 ; 根据所述探测结果确定所述各个被发现设备支持的协议。
【文档编号】H04L12/28GK103986631SQ201410225973
【公开日】2014年8月13日 申请日期:2014年5月26日 优先权日:2014年5月26日
【发明者】文振威, 孙鹏, 欧阳承凤 申请人:小米科技有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1