一种服务发现的方法及电子设备
技术领域
本发明涉及通信技术领域,尤其涉及一种服务发现的方法及电子设备。
背景技术
IEEE制定的无线局域网标准802.11定义了两种网络结构模式,其一是基于基础设施的方式,即有一个节点作为接入点(Access Point,AP),其他节点作为站点(Station,STA),接入点提供接入服务,其他节点跟接入点连接,通过接入点接入网络。其二是独立的基础服务集(Independent Basic Service Set,IBSS)模式,在此网络结构下,每个设备都是平等的站点,彼此两两间建立连接。具体实现中,在某些场景下,例如两个手机之间要互相连接,802.11标准无法便捷的实现两个设备间的发现和连接。
在此基础上,Wi-Fi联盟制定了Wi-Fi Direct标准,进一步定义了两个设备间如何发现以及如何建立连接。具体而言,两个设备都随机地在1、6、11这三个信道上发送探测消息或者监听别人的探测消息,如果听到并回复响应的话,说明两个设备相互发现了,然后两者开始协商谁当群主(Group Owner,GO),群主设备相当于接入点的角色,其他设备就作为群成员(Group Client),群成员设备相当于站点角色。群成员设备就向群主设备申请关联,然后建立连接。
Wi-Fi Direct标准仅定义了两个设备之间Wi-Fi层面的发现和连接问题,并不涉及Wi-Fi层面上的业务层面。如此便会出现这样的情况,各厂家的设备都可通过Wi-Fi标准建立Wi-Fi层连接,但设备间的上层业务并不统一,例如厂家A的文件传输业务在上层使用TCP协议,厂家B的文件传输业务在上层使用UDP协议,如此各家的业务层面就无法互通。基于这样的情形,Wi-Fi联盟又在Wi-Fi Direct标准的基础上,制定了Wi-Fi Direct Service(WFDS)标准。WFDS标准规范了上层交互,使得各厂家的上层业务能够互通,例如两个设备都采用UPnP File Transfer协议来进行文件传输业务。
现有技术中,在使用上述标准的过程中,若两个设备均与同一接入点连接,例如家庭网络中手机与电视均与家里的路由器连接,两个设备建立业务连接,发现查询方(例如手机)需要首先断开与接入点(例如路由器)的连接,第一设备(例如手机)需要在1、6、11信道上随机发送探测消息(或者监听探测消息),第二设备(例如电视)监听到探测消息并回复响应消息(或者回复响应消息)后,第一设备(例如手机)和第二设备(例如电视)相互发现。随后,两个设备协商谁当群主,另一设备作为群成员,群成员设备向群主设备申请关联,随后建立连接进行数据传输。上述Wi-Fi Direct标准和WFDS标准仅考虑了是两个设备之间直接发现和连接的方式,并没有考虑两个设备均连接到同一接入点的情况下如何实现两个设备之间发现和连接的情形。
发明内容
本发明实施例提供了一种服务发现方法和电子设备,旨在解决在设备与接入点连接的情况下,如何通过接入点来实现设备之间的发现和上层连接建立,继而实现设备之间上层服务的互通。
第一方面,本发明提供了一种服务发现方法的一个实施例。
在第一种可能的实现方式中,所述方法包括:第一设备经接入点向与所述接入点连接的至少一个第二设备发送服务发现请求;所述服务发现请求用于向所述至少一个第二设备查询所述第一设备请求查询的服务;所述第一设备接收所述至少一个第二设备发送的服务发现应答,所述服务发现应答为所述至少一个第二设备对所述服务发现请求的响应。
结合第一方面第一种可能的实现方式,在第二种可能的实现方式中,所述服务发现请求为数据帧格式;所述第一设备经接入点向与所述接入点连接的至少一个第二设备发送服务发现请求,包括:第一设备经接入点广播服务发现请求;其中,所述第一设备向所述接入点发送的服务发现请求数据帧的帧头依次包括:所述接入点的地址;所述第一设备的地址;广播地址;所述第一设备经接入点广播的服务发现请求数据帧的帧头依次包括:所述广播地址;所述接入点的地址;所述第一设备的地址。
结合第一方面第一种可能的实现方式,在第三种可能的实现方式中,所述服务发现请求为数据帧格式;所述第一设备经接入点向与所述接入点连接的至少一个第二设备发送服务发现请求,包括:第一设备经接入点单播发送服务发现请求;所述第一设备向所述接入点发送的服务发现请求数据帧的帧头依次包括:所述接入点的地址;所述第一设备的地址;所述第二设备的地址;所述第一设备经所述接入点发送的服务发现请求数据帧的帧头依次包括:所述第二设备的地址;所述接入点的地址;所述第一设备的地址。
结合第一方面第二种或第三种可能的实现方式,在第四种可能的实现方式中,所述服务发现请求数据帧的帧体部分包括:探测请求帧的帧体部分;或者,服务发现请求帧的帧体部分。
结合第一方面第一种至第四种任一可能的实现方式,在第五种可能的实现方式中,所述第一设备接收所述至少一个第二设备发送的服务发现应答,包括:所述第一设备接收所述至少一个第二设备经由所述接入点发送的服务发现应答,所述服务发现应答为数据帧格式。
结合第一方面第一种至第五种任一可能的实现方式,在第六种可能的实现方式中,所述服务发现应答包括所述第二设备的IP地址信息。
结合第一方面第一种至第五种任一可能的实现方式,在第七种可能的实现方式中,所述服务发现应答包括所述第二设备的MAC地址;在所述第一设备接收所述至少一个第二设备发送的服务发现应答后,所述方法还包括:所述第一设备向反向地址转换协议服务器发送查询请求;所述查询请求包括所述第二设备的Mac地址;所述查询请求用于查询所述第二设备的IP地址信息;所述第一设备接收反向地址转换协议服务器发送的查询应答;所述查询应答包括所述第二设备的IP地址信息。
结合第一方面第七种可能的实现方式,在第八种可能的实现方式中,所述反向地址转换协议服务器与所述接入点为同一设备;所述第一设备向反向地址转换协议服务器发送查询请求,包括:所述第一设备向所述接入点发送查询请求;
所述第一设备接收反向地址转换协议服务器发送的查询应答,包括:所述第一设备接收所述接入点发送的查询应答。
结合第一方面第一种至第八种任一可能的实现方式,在第九种可能的实现方式中,在所述第一设备接收所述至少一个第二设备发送的服务应答之后,所述方法还包括:
所述第一设备向所述第二设备发送第一能力协商请求;所述第一能力协商请求用于协商如何与所述第二设备建立连接;
所述第一设备接收所述第二设备发送的第一能力协商应答,所述第一能力协商应答为所述第二设备对所述第一能力协商请求的响应。
结合第一方面第九种可能的实现方式,在第十种可能的实现方式中,所述第一设备向所述第二设备发送第一能力协商请求,包括:所述第一设备经由所述接入点向所述第二设备发送第一能力协商请求,所述第一能力协商请求为数据帧格式。
结合第一方面第九种或第十种可能的实现方式,在第十一种可能的实现方式中,所述第一能力协商应答包括所述第二设备的IP地址信息。
结合第一方面第九种至第十一种任一可能的实现方式,在第十二种可能的实现方式中,所述第一设备接收所述所述第二设备发送的第二能力协商请求;所述第一设备向所述第二设备发送第二能力协商应答,所述第二能力协商应答为所述第一设备对所述第二能力协商请求的响应。
结合第一方面第十二种可能的实现方式,在第十三种可能的实现方式中,所述第一设备向所述第二设备发送第二能力协商应答,包括:所述第一设备经由所述接入点向所述第二设备发送第二能力协商应答,所述第二能力协商应答为数据帧格式。
结合第一方面第十二种或第十三种可能的实现方式,在第十四种可能的实现方式中,所述第二能力协商请求包括所述第二设备的IP地址信息。
第二方面,本发明提供了一种服务发现方法的一个实施例。
在第一种可能的实现方式中,所述方法包括:第二设备接收第一设备经由接入点发送的服务发现请求;所述服务发现请求用于向所述第二设备查询所述第一设备请求查询的服务;所述第二设备向所述第一设备发送服务发现应答;所述服务发现应答为所述第二设备对所述第一服务发现请求的响应。
结合第二方面第一种可能的实现方式,在第二种可能的实现方式中,所述服务发现请求为数据帧格式。
结合第二方面第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述第二设备向所述第一设备发送服务发现应答,包括:所述第二设备经由所述接入点向所述第一设备发送服务发现应答;所述服务发现应答为数据帧格式;其中,所述第二设备向所述接入点发送的服务发现应答数据帧的帧头依次包括:所述接入点的地址;所述第二设备的地址;所述第一设备的地址;所述第二设备经接入点发送的服务发现应答数据帧的帧头依次包括:所述第一设备的地址;所述接入点的地址;所述第二设备的地址。
结合第二方面第一种至第三种任一可能的实现方式,在第四种可能的实现方式中,所述服务发现应答包括所述第二设备的IP地址信息。
结合第二方面第一种至第四种任一可能的实现方式,在第五种可能的实现方式中,所述方法还包括:
所述第二设备接收所述第一设备发送的第一能力协商请求;所述第一能力协商请求用于协商如何与所述第二设备建立连接;
所述第二设备向所述第一设备发送第一能力协商应答,所述第一能力协商应答为所述第二设备对所述第一服务发现请求的响应。
结合第二方面第五种可能的实现方式,在第六种可能的实现方式中,所述第二设备向所述第一设备发送第一能力协商应答,包括:所述第二设备经由所述接入点向所述第一设备发送第一能力协商应答;所述第一能力协商应答为数据帧格式。
结合第二方面第五种或第六种可能的实现方式,在第七种可能的实现方式中,所述第一能力协商应答包括所述第二设备的IP地址信息。
结合第二方面第五种至第七种任一可能的实现方式,在第八种可能的实现方式中,所述方法还包括:
所述第二设备获取用户输入的响应指令,向所述第一设备发送第二能力协商请求;
所述第二设备接收所述第一设备发送的第二能力协商应答,所述第二能力协商应答为所述第一设备对所述第二能力协商请求的响应。
结合第二方面第八种可能的实现方式,在第九种可能的实现方式中,所述第二设备获取用户输入的响应指令,向所述第一设备发送第二能力协商请求,包括:
所述第二设备获取用户输入的响应指令,经由所述接入点向所述第一设备发送第二能力协商请求,所述第二能力协商请求为数据帧格式。
结合第二方面第八种或第九种任一可能的实现方式,在第十种可能的实现方式中,所述第二能力协商请求包括所述第二设备的IP地址信息。
第三方面,本发明提供了一种服务发现方法的一个实施例。
在第一种可能的实现方式中,所述方法包括:接入点接收第一设备发送的服务发现请求;所述服务发现请求用于向所述至少一个第二设备查询所述第一设备请求查询的服务;所述接入点与所述至少一个第二设备连接;所述接入点向所述至少一个第二设备发送所述服务发现请求;所述接入点接收所述至少一个第二设备发送的服务发现应答,所述服务发现应答为所述第二设备对所述服务发现请求的响应;所述接入点向所述第一设备发送所述服务发现应答。
结合第三方面第一种可能的实现方式,在第二种可能的实现方式中,所述服务发现请求为数据帧格式;所述接入点向所述至少一个第二设备发送所述服务发现请求,包括:所述接入点广播所述服务发现请求;其中,所述接入点接收的所述服务发现请求数据帧的帧头依次包括:所述接入点的地址;所述第一设备的地址;广播地址。所述接入点广播的所述服务发现请求数据帧的帧头依次包括:所述广播地址;所述接入点的地址;所述第一设备的地址。
结合第三方面第一种可能的实现方式,在第三种可能的实现方式中,所述服务发现请求为数据帧格式;所述接入点接收的所述服务发现请求数据帧的帧头依次包括:所述接入点的地址;所述第一设备的地址;所述第二设备的地址。所述接入点发送的所述服务发现请求数据帧的帧头依次包括:所述第二设备的地址;所述接入点的地址;所述第一设备的地址。
结合第三方面第一种至第三种任一可能的实现方式,在第四种可能的实现方式中,所述服务发现应答包括所述第二设备的IP地址信息。
结合第三方面第一种至第三种任一可能的实现方式,在第五种可能的实现方式中,所述服务发现应答包括所述第二设备的MAC地址;在所述接入点向所述第一设备发送所述服务发现应答后,所述方法还包括:
所述接入点接收所述第一设备发送的查询请求,所述查询请求包括所述第二设备的MAC地址,所述查询请求用于查询所述第二设备的IP地址信息;
所述接入点向所述第一设备发送查询应答;所述查询应答包括所述第二设备的IP地址信息。
结合第三方面第一种至第五种任一可能的实现方式,在第六种可能的实现方式中,所述方法还包括:
所述接入点接收所述第一设备发送的第一能力协商请求;所述第一能力协商请求用于协商如何与所述第二设备建立连接;所述第一能力协商请求为数据帧格式;
所述接入点向所述第二设备发送所述第一能力协商请求;
所述接入点接收所述第二设备发送的第一能力协商应答,所述能力协商应答为所述第二设备对所述能力协商请求的响应;所述第一能力协商应答为数据帧格式;
所述接入点向所述第一设备发送所述第一能力协商应答。
结合第三方面第六种可能的实现方式,在第七种可能的实现方式中,所述第一能力协商应答包括所述第二设备的IP地址信息。
结合第三方面第六种或第七种可能的实现方式,在第八种可能的实现方式中,所述方法还包括:
所述接入点接收所述第二设备发送的第二能力协商请求;所述第二能力协商请求为数据帧格式;
所述接入点向所述第一设备发送所述第二能力协商请求;
所述接入点接收所述第一设备发送的第二能力协商应答,所述第二能力协商应答为所述第二设备对所述第二能力协商请求的响应;所述第二能力协商应答为数据帧格式;
所述接入点向所述第二设备发送所述第二能力协商应答。
结合第三方面第八种可能的实现方式,在第九种可能的实现方式中,所述第二能力协商请求包括所述第二设备的IP地址信息。
第四方面,本发明提供了一种电子设备的一个实施例。
在第一种可能的实现方式中,所述电子设备包括:发送单元,用于经接入点向与所述接入点连接的至少一个第二设备发送服务发现请求;所述服务发现请求用于向所述至少一个第二设备查询所述第一设备请求查询的服务;
接收单元,用于接收所述至少一个第二设备发送的服务发现应答,所述服务发现应答为所述至少一个第二设备对所述服务发现请求的响应。
结合第四方面第一种可能的实现方式,在第二种可能的实现方式中,所述服务发现请求为数据帧格式;所述发送单元具体用于,经接入点广播服务发现请求;其中,
所述发送单元向所述接入点发送的服务发现请求数据帧的帧头依次包括:所述接入点的地址;所述第一设备的地址;广播地址;
所述发送单元经接入点广播的服务发现请求数据帧的帧头依次包括:所述广播地址;所述接入点的地址;所述第一设备的地址。
结合第四方面第一种可能的实现方式,在第三种可能的实现方式中,所述服务发现请求为数据帧格式;所述发送单元具体用于,经接入点单播发送服务发现请求;
所述发送单元向所述接入点发送的服务发现请求数据帧的帧头依次包括:所述接入点的地址;所述第一设备的地址;所述第二设备的地址;
所述发送单元经接入点单播发送的服务发现请求数据帧的帧头依次包括:所述第二设备的地址;所述接入点的地址;所述第一设备的地址。
结合第四方面第二种或第三种可能的实现方式,在第四种可能的实现方式中,所述发送单元发送的服务发现请求数据帧的帧体部分包括:探测请求帧的帧体部分;或者,服务发现请求帧的帧体部分。
结合第四方面第一种至第四种可能的实现方式,在第五种可能的实现方式中,所述接收单元具体用于,接收所述至少一个第二设备经由所述接入点发送的服务发现应答,所述服务发现应答为数据帧格式。
结合第四方面第一种至第五种可能的实现方式,在第六种可能的实现方式中,所述接收单元接收的服务发现应答包括所述第二设备的IP地址信息。
结合第四方面第一种至第五种可能的实现方式,在第七种可能的实现方式中,所述服务发现应答包括所述第二设备的MAC地址;
所述发送单元还用于,在所述接收单元接收所述至少一个第二设备发送的服务发现应答后,向反向地址转换协议服务器发送查询请求;所述查询请求包括所述第二设备的Mac地址;所述查询请求用于查询所述第二设备的IP地址信息;
所述接收单元还用于,接收反向地址转换协议服务器发送的查询应答;所述查询应答包括所述第二设备的IP地址信息。
第五方面,本发明提供了一种电子设备的一个实施例。
在第一种可能的实现方式中,所述电子设备包括:发送器,用于经接入点向与所述接入点连接的至少一个第二设备发送服务发现请求;所述服务发现请求用于向所述至少一个第二设备查询所述第一设备请求查询的服务;
接收器,用于接收所述至少一个第二设备发送的服务发现应答,所述服务发现应答为所述至少一个第二设备对所述服务发现请求的响应。
结合第五方面第一种可能的实现方式,在第二种可能的实现方式中,所述服务发现请求为数据帧格式;所述发送器具体用于,经接入点广播服务发现请求;其中,
所述发送器向所述接入点发送的服务发现请求数据帧的帧头依次包括:所述接入点的地址;所述第一设备的地址;广播地址;
所述发送器发送的经由接入点广播的服务发现请求数据帧的帧头依次包括:所述广播地址;所述接入点的地址;所述第一设备的地址。
结合第五方面第一种可能的实现方式,在第三种可能的实现方式中,所述服务发现请求为数据帧格式;所述发送器具体用于,经接入点单播发送服务发现请求;
所述发送器向所述接入点发送的服务发现请求数据帧的帧头依次包括:所述接入点的地址;所述第一设备的地址;所述第二设备的地址;
所述发送器发送的经由接入点单播发送的服务发现请求数据帧的帧头依次包括:所述第二设备的地址;所述接入点的地址;所述第一设备的地址。
结合第五方面第二种或第三种可能的实现方式,在第四种可能的实现方式中,所述发送器发送的服务发现请求数据帧的帧体部分包括:探测请求帧的帧体部分;或者,服务发现请求帧的帧体部分。
结合第五方面第一种至第四种任一可能的实现方式,在第五种可能的实现方式中,所述接收器具体用于,接收所述至少一个第二设备经由所述接入点发送的服务发现应答,所述服务发现应答为数据帧格式。
结合第五方面第一种至第五种任一可能的实现方式,在第六种可能的实现方式中,所述服务发现应答包括所述第二设备的IP地址信息。
结合第五方面第一种至第五种任一可能的实现方式,在第七种可能的实现方式中,所述服务发现应答包括所述第二设备的MAC地址;
所述发送器还用于,在所述接收器接收所述至少一个第二设备发送的服务发现应答后,向反向地址转换协议服务器发送查询请求;所述查询请求包括所述第二设备的Mac地址;所述查询请求用于查询所述第二设备的IP地址信息;
所述接收器还用于,接收反向地址转换协议服务器发送的查询应答;所述查询应答包括所述第二设备的IP地址信息。
结合第五方面第七种可能的实现方式,在第八种可能的实现方式中,所述反向地址转换协议服务器与所述接入点为同一设备;
所述发送器具体用于,向所述接入点发送查询请求;
所述接收器具体用于,接收所述接入点发送的查询应答。
结合第五方面第一种至第八种任一可能的实现方式,在第九种可能的实现方式中,所述发送器还用于,向所述第二设备发送第一能力协商请求;所述第一能力协商请求用于协商如何与所述第二设备建立连接;
所述接收器还用于,接收所述第二设备发送的第一能力协商应答,所述第一能力协商应答为所述第二设备对所述第一能力协商请求的响应。
结合第五方面第九种可能的实现方式,在第十种可能的实现方式中,所述发送器具体用于,经由所述接入点向所述第二设备发送第一能力协商请求,所述第一能力协商请求为数据帧格式。
结合第五方面第九种或第十种可能的实现方式,在第十一种可能的实现方式中,所述第一能力协商应答包括所述第二设备的IP地址信息。
结合第五方面第九种至第十一种可能的实现方式,在第十二种可能的实现方式中,所述接收器还用于,接收所述所述第二设备发送的第二能力协商请求;
所述发送器还用于,向所述第二设备发送第二能力协商应答,所述第二能力协商应答为所述第一设备对所述第二能力协商请求的响应。
结合第五方面第十二种可能的实现方式,在第十三种可能的实现方式中,所述发送器具体用于,经由所述接入点向所述第二设备发送第二能力协商应答,所述第二能力协商应答为数据帧格式。
结合第五方面第十二种或第十三种可能的实现方式,在第十四种可能的实现方式中,所述第二能力协商请求包括所述第二设备的IP地址信息。
第六方面,本发明提供了一种电子设备的一个实施例。
在第一种可能的实现方式中,所述电子设备包括:
接收器,用于接收第一设备经由接入点发送的服务发现请求;所述服务发现请求用于向所述第二设备查询所述第一设备请求查询的服务;
发送器,用于向所述第一设备发送服务发现应答;所述服务发现应答为所述第二设备对所述第一服务发现请求的响应。
结合第六方面第一种可能的实现方式,在第二种可能的实现方式中,所述接收器接收的服务发现请求为数据帧格式。
结合第六方面第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述发送器具体用于,经由所述接入点向所述第一设备发送服务发现应答;所述服务发现应答为数据帧格式;其中,所述发送器向所述接入点发送的服务发现应答数据帧的帧头依次包括:所述接入点的地址;所述第二设备的地址;所述第一设备的地址;
所述发送器发送的经由接入点发送的服务发现应答数据帧的帧头依次包括:所述第一设备的地址;所述接入点的地址;所述第二设备的地址。
结合第六方面第一种至第三种任一可能的实现方式,在第四种可能的实现方式中,所述服务发现应答包括所述第二设备的IP地址信息。
结合第六方面第一种至第四种可能的实现方式,在第五种可能的实现方式中,所述接收器还用于,接收所述第一设备发送的第一能力协商请求;所述第一能力协商请求用于协商如何与所述第二设备建立连接;
所述发送器还用于,向所述第一设备发送第一能力协商应答,所述第一能力协商应答为所述第二设备对所述第一服务发现请求的响应。
结合第六方面第五种可能的实现方式,在第六种可能的实现方式中,所述发送器向所述第一设备发送第一能力协商应答,具体为:
所述发送器经由所述接入点向所述第一设备发送第一能力协商应答;所述第一能力协商应答为数据帧格式。
结合第六方面第五种或第六种可能的实现方式,在第七种可能的实现方式中,所述第一能力协商应答包括所述第二设备的IP地址信息。
结合第六方面第五种至第七种可能的实现方式,在第八种可能的实现方式中,所述电子设备还包括:
输入设备,用于获取用户输入的响应指令;
所述发送器还用于,在所述输入设备获取用户输入的响应指令后,向所述第一设备发送第二能力协商请求;
所述接收器还用于,接收所述第一设备发送的第二能力协商应答,所述第二能力协商应答为所述第一设备对所述第二能力协商请求的响应。
结合第六方面第八种可能的实现方式,在第九种可能的实现方式中,所述发送器向所述第一设备发送第二能力协商请求,具体为:
所述发送器经由所述接入点向所述第一设备发送第二能力协商请求,所述第二能力协商请求为数据帧格式。
结合第六方面第八种或第九种可能的实现方式,在第十种可能的实现方式中,所述第二能力协商请求包括所述第二设备的IP地址信息。
第七方面,本发明提供了一种电子设备的一个实施例。
在第一种可能的实现方式中,所述电子设备包括:
接收器,用于接收第一设备发送的服务发现请求;所述服务发现请求用于向所述至少一个第二设备查询所述第一设备请求查询的服务;接收所述至少一个第二设备发送的服务发现应答,所述服务发现应答为所述第二设备对所述服务发现请求的响应;
发送器,用于向所述至少一个第二设备发送所述服务发现请求;向所述第一设备发送所述服务发现应答。
结合第七方面第一种可能的实现方式,在第二种可能的实现方式中,所述服务发现请求为数据帧格式;所述发送器向所述至少一个第二设备发送所述服务发现请求,具体为:所述发送器广播所述服务发现请求;其中,
所述接收器接收的所述服务发现请求数据帧的帧头依次包括:所述接入点的地址;所述第一设备的地址;广播地址。
所述发送器广播的所述服务发现请求数据帧的帧头依次包括:所述广播地址;所述接入点的地址;所述第一设备的地址。
结合第七方面第一种可能的实现方式,在第三种可能的实现方式中,所述服务发现请求为数据帧格式;所述发送器单播发送所述服务发现请求;
所述接收器接收的所述服务发现请求数据帧的帧头依次包括:所述接入点的地址;所述第一设备的地址;所述第二设备的地址。
所述发送器发送的所述服务发现请求数据帧的帧头依次包括:所述第二设备的地址;所述接入点的地址;所述第一设备的地址。
结合第七方面第一种至第三种任一可能的实现方式,在第四种可能的实现方式中,所述服务发现应答包括所述第二设备的IP地址信息。
结合第七方面第一种至第三种任一可能的实现方式,在第五种可能的实现方式中,所述接收器还用于,接收所述第一设备发送的查询请求,所述查询请求包括所述第二设备的MAC地址,所述查询请求用于查询所述第二设备的IP地址信息;
所述发送器还用于,向所述第一设备发送查询应答;所述查询应答包括所述第二设备的IP地址信息。
结合第七方面第一种至第五种任一可能的实现方式,在第六种可能的实现方式中,所述接收器还用于,接收所述第一设备发送的第一能力协商请求;所述第一能力协商请求用于协商如何与所述第二设备建立连接;所述第一能力协商请求为数据帧格式;接收所述第二设备发送的第一能力协商应答,所述能力协商应答为所述第二设备对所述能力协商请求的响应;所述第一能力协商应答为数据帧格式;
所述发送器还用于,向所述第二设备发送所述第一能力协商请求;向所述第一设备发送所述第一能力协商应答。
结合第七方面第六种可能的实现方式,在第七种可能的实现方式中,所述第一能力协商应答包括所述第二设备的IP地址信息。
结合第七方面第六种或第七种可能的实现方式,在第八种可能的实现方式中,所述接收器还用于,接收所述第二设备发送的第二能力协商请求;所述第二能力协商请求为数据帧格式;接收所述第一设备发送的第二能力协商应答,所述第二能力协商应答为所述第二设备对所述第二能力协商请求的响应;所述第二能力协商应答为数据帧格式;
所述发送器还用于,向所述第一设备发送所述第二能力协商请求;向所述第二设备发送所述第二能力协商应答。
结合第七方面第八种可能的实现方式,在第九种可能的实现方式中,所述第二能力协商请求包括所述第二设备的IP地址信息。
上述所说的接入点,可以为有基础设施的Wi-Fi网络中的接入点(AP,AccessPoint),也可以为通过Wi-Fi Direct协议建立群组(Group)的群主设备(Group Owner)。
在本发明实施例中,在多个电子设备均与接入点连接的场景中,不需要电子设备断开与接入点的连接即可实现多个电子设备之间服务发现消息的交互,提高了服务发现效率,继而提高了互通效率。本发明实施例扩展了Wi-Fi Direct Service的应用范围,提高了用户体验。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术提供的完整的服务发现和连接建立的流程图;
图2为IEEE的802.11定义的数据帧结构图;。
图3为WFDS标准定义的数据帧结构图;
图4为本发明实施例提供的一种服务发现方法的实施例的流程图;
图5为本发明实施例提供的一种服务发现方法的实施例的流程图;
图6为本发明实施例提供的一种服务发现方法的实施例的流程图;
图7为本发明实施例提供的一种电子设备的一个实施例的结构示意图;
图8为本发明实施例提供的一种电子设备的一个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在对本发明实施例进行具体介绍之前,先对服务发现和连接需要经历的步骤进行简要介绍。如图1所示,图1为现有技术提供的完整的服务发现和连接建立的总体流程图。其中,完整的服务发现和连接建立包括如下步骤:
服务发现(Service Discovery),用于探测哪个设备能够支持本设备需要的服务。所述服务发现包括Probe交互和service discovery交互,前述两个交互使用的Wi-Fi消息不同。
能力协商(Provision Discovery),包括连接能力交互(connection capabilityexchange),功能交互(feature capability exchange),WSC交互(Wi-Fi SimpleConfiguration exchange)等,该步骤主要是确认双方设备的连接能力,各设备处于什么状态,以及如何连接等。
连接阶段,根据能力协商阶段的协商结果,确定双方设备的交互是创建新的连接还是使用原有的连接等。
ASP会话建立阶段,ASP是基于网络层(IP层)进行的,无论是创建新的连接,或者使用原有连接,均可获得对端设备的IP地址。在双方建立ASP会话前,所述服务查询方获取对方设备的IP地址信息。基于所述IP地址,双方建立ASP会话。例如,所述服务查询方基于所述IP地址,在IP网络层向服务应答方发送REQUEST_SESSION消息。在现有WFDS标准中,所述REQUEST_SESSION消息被送到MAC层,在MAC层进行传输,由服务查询方直接发送到服务应答方。在有接入点参与的环境下,在MAC层,这个消息通过AP转发。当然,如果TDLS直连已经建立,也可由服务查询方发送到服务应答方。
业务建立阶段,在ASP会话的基础上,建立上层业务,比如传照片业务等等。ASPsession建立以后,基于IP网络层的应用程序的连接和数据交互,双方建立Applicationsocket connection和进行data transfer。在现有WFDS标准中,前述交互消息也是在MAC层由服务查询方和服务应答方直接传输。在有接入点参与的环境下,MAC层承载这些消息时,可通过AP转发。同理,如果建立了TDLS直连,也可由服务查询方与服务应答方直接交互。
在前述ASP会话建立阶段和业务建立阶段,可直接使用现有ASP的做法,是否具有接入点的应用环境,对这两个步骤没有太多影响。但在前述服务发现阶段、能力协商阶段、连接阶段中,在存在接入点的情况下,本发明的实施例的处理方式跟现有的ASP是不相同的。
前述服务发现阶段、能力协商阶段、连接建立阶段的步骤中,可包括如下交互信息,如Probe Request,Probe Response,service discovery Request,service discoveryResponse,provision discovery request,provision discovery Response等消息。在具体交互过程中,在现有WFDS标准中,这些消息都是以管理帧的形式从一个站点发送到另一个站点;但是在具有接入点的网络结构中,这些消息可以是通过接入点进行转发的。在通过接入点进行转发时,前述交互信息都可以数据帧的方式传递。这也是本发明的发明点之一。根据这个数据帧标准化组织的不同,可以分成IEEE和WFA两种定义方式,两种方式大体相似,但是细节上有所区别。如下将对IEEE的802.11标准中的数据帧格式和在WFA的WFDS标准中的数据帧格式进行介绍。
在IEEE的802.11标准中,所述数据帧的格式可如图2所示,图2为IEEE的802.11定义的数据帧结构。其中,802.11MAC Header是帧头,其包括帧控制(Frame Control)、持续时间/ID号(Duration/ID)、接收地址(Address1)、发送地址(Address2)、顺序控制(SequenceControl)、高吞吐量控制(High Throughput Control)等,尤其包含相关地址信息。LLCHeader是LLC层的头。SNAP Header是扩展的LLC头,其中的Ether type 被设置成0x890d时,表示后面携带的是是802.11的管理协议,这个是现有标准定义的。Payload Type现在已经有了定义,比如为2时表示后面携带的是TDLS(Tunnel Direct-Link Setup,隧道直连建立)的管理帧。在本发明实施例中,为了携带WFDS的管理帧(即前述交互信息),可以在数据帧结构中添加一个新的Payload Type,比如Payload Type为3,表示后面携带的是WFDS的管理帧。具体地,因交互信息的不同,需要对管理帧进行区分,例如在Payload部分可拿出一个字节来表示管理帧的类型,该字节可叫做Packet Type。例如,在Packet Type为0时,用于标识该管理帧的类型是P2P Probe Request;在Packet Type为1时,用于标识该管理帧的类型是P2P Probe Response;在Packet Type为2时,用于标识该管理帧的类型是P2P servicediscovery request;在Packet Type为3时,用于标识该管理帧的类型是P2P servicediscovery Response;在Packet Type为4时,用于标识该管理帧的类型是P2P provisiondiscovery request;在Packet Type为5时,用于标识该管理帧的类型是P2P provisiondiscovery Response。在具体实现过程中,可将所述管理帧全部封装到数据帧中;也可只封装管理帧的帧体部分,不封装管理帧的帧头。
在WFA的WFDS标准中,所述数据帧的格式可如图3所示,图3为WFDS标准定义的数据帧结构。在SNAP header中的第一部分,使用0x506F9A指示该数据帧是WFA定义的内容;第二部分表示是ASP2.0定义的内容,这个值由WFA指定,例如可以为0x1600等。Packet Type 和帧内容部分,可跟802.11中的使用一致。
应当理解,Protocol Identifier中,前三个字节表示组织,后两个字节表示类型。例如,在IEEE的802.11标准中,0x000000表示IEEE,0x890d表示802.11管理协议;在WFA的WFDS标准中,,0x506F9A表示WFA,0x1600表示WFDS管理协议。当然,在实际使用中,WFDS管理协议不一定是用0x1600,还可以用其它值代替。
具体地,如图4所示,本发明实施例提供的服务发现方法可包括如下步骤,该方法可以由发现查询方执行,以获取所述发现查询方查询的服务的信息。所述发现查询方为发送服务发现请求、接收服务发现应答的一方。本发明实施例中,与所述发现查询方相对的另一方为发现响应方,所述响应方接收发现查询方的服务发现请求,向发现查询方发送服务发现应答,所述服务发现应答包括发现查询方查询的服务的相关信息。
S101,第一设备经接入点向与所述接入点连接的至少一个第二设备发送服务发现请求;所述服务发现请求用于向所述至少一个第二设备查询所述第一设备请求查询的服务;
具体地,所述第一设备与所述接入点连接,所述接入点与至少两个设备连接。除所述第一设备外,所述接入点至少与至少一个第二设备连接。所述第一设备经由接入点发送服务发现请求,所述服务发现请求用于向所述至少一个第二设备查询所述第一设备请求查询的服务。所述服务发现请求可包含所述第一设备请求查询的服务的信息,例如第一设备查询的服务的名称或者对应的ID值等。所述第一设备请求查询的服务,不仅可以包括查询所述第二设备支持的服务,也可包括查询所述第二设备不支持的服务;所述查询的服务,不仅可以包括查询服务的类型,也可以包括查询具体的服务,如服务本身的相关参数及服务内容。例如,所述服务发现请求用于请求查询播放服务,其可以请求查询第二设备是否支持该播放服务;还可以请求的服务查询包括该播放服务归属的类型,以及该播放服务的具体内容。播放服务可归属于一种娱乐类型,此时,所述服务发现请求可请求查询第二设备的娱乐类型,然后从娱乐类型中查询播放服务;还可以直接查询第二设备支持的播放服务,例如播放支持的视频格式,播放的分辨率等。所述至少一个第二设备获取所述服务发现请求包含的服务的名称或ID值后,可确定是否支持所述名称或ID值对应的服务,并在支持所述服务的情况下,确定所述服务的具体内容。
可选地,所述服务发现请求为数据帧格式,所述数据帧是Wi-Fi定义的一种帧类型,所述数据帧包括帧头和帧体。所述数据帧的帧头可包含三个地址,其名称可以分别为为Address1(A1),Address2(A2),Address3(A3),所述帧头包含的地址信息以及所述地址信息的顺序,可根据数据帧的发送方和接收方的不同而调整。在所述数据帧为设备向接入点发送的数据帧时,所述数据帧的帧头地址依次为:所述A1为直接接收者地址,所述A2为直接发送者地址,所述A3为最终目标地址;在所述数据帧为接入点向设备发送的数据帧时,所述A1为直接接收者地址,同时也刚好是目标地址,所述A2为直接发送者地址,所述A3为最初源地址。
可选地,所述服务发现请求也可以为管理帧或控制帧。所述第一设备经由所述接入点发送所述服务发现请求,所述接入点接收所述第一设备发送的所述服务发现请求,所述接入点解析所述管理帧或控制帧,所述接入点可按照预设的规则对所述管理帧或所述控制帧进行处理。所述接入点将所述处理后的管理帧或控制帧发送给至少一个第二设备。
可选地,所述第一设备可经由所述接入点广播服务发现请求。所述服务发现请求为数据帧格式。在所述第一设备向接入点发送所述服务发现请求时,其A1(目标地址信息)为所述接入点的地址信息,A3(最终目标地址信息)可不为具体的第二设备的地址信息,而是广播地址(Broadcast Address)。所述广播地址为专门用于同时向网络中所述第二设备进行发送的一个地址。在MAC层,其包括48位主机标识段host ID,并且所述48位主机标识段host ID均为1,以表明该地址为广播地址。此时,所述第一设备向所述接入点发送的服务发现请求数据帧的帧头依次包括:所述接入点的地址;所述第一设备的地址;广播地址。所述接入点接收所述第一设备的所述服务发现请求后,改变所述服务发现请求数据帧的帧头地址格式,将所述广播地址设置为A1(目标地址信息),并广播修改帧头地址格式的服务发现请求数据帧,以便与接入点连接的第二设备可接收所述接入点广播的服务发现请求。所述接入点广播的服务发现请求数据帧的帧头依次包括:广播地址;所述接入点的地址;所述第一设备的地址。
可选地,所述第一设备也可经由所述接入点向与所述接入点连接的第二设备单播发送服务发现请求。所述第一设备获知第二设备的Mac地址,向所述Mac地址对应的第二设备单播发送服务发现请求。此时,所述第一设备向所述接入点发送的服务发现请求数据帧的帧头依次包括:所述接入点的地址;所述第一设备的地址;所述第二设备的地址;所述接入点单播的服务发现请求数据帧的帧头依次包括:所述第二设备的地址;所述接入点的地址;所述第一设备的地址。
可选地,所述服务发现请求可以包括第一服务发现请求和第二服务发现请求。所述第一设备向所述第二设备发送第一服务发现请求,所述第一服务发现请求可包含所述第一设备所需要的服务的ID值。所述服务的ID值可以是所述服务的名称经过哈希运算后的哈希值。所述第二设备获取所述第一服务发现请求后,获取所述服务的ID值,并根据所述ID值获取所述服务的名称。所述第一服务发现应答可包含所述服务的名称。所述第一设备获取所述第二设备发送的第一服务发现应答后,获取所述服务的名称。在所述第一设备需进一步了解该服务的详细信息时,所述第一设备可向所述第二设备发送第二服务发现请求,所述第二服务发现请求可包含所述服务的名称,所述第二服务发现请求用于请求获取所述第二设备的所述服务名称对应的所述服务的具体信息。所述第一设备接收所述第二设备发送的第二服务发现应答,所述第二服务发现应答为所述第二设备对所述第二服务发现请求的响应。具体地,所述第一服务发现请求可以为Probe Request,所述第一服务发现应答可以为Probe Response。所述第二服务发现请求可以为Service Discovery Request,所述第二服务发现应答可以为Service Discovery Response。
可选地,所述第一设备经接入点向所述至少一个第二设备广播的第一服务发现请求可以为Probe Request。所述Probe Response可携带所述第一设备想要发现的服务名称或服务类型,所述服务名称或服务类型可以哈希值的形式包含在所述Probe Request中。所述第一设备可将所述Probe Request封装在数据帧中,由所述接入点转发。所述第一设备经接入点向与接入点连接的至少一个第二设备广播第一服务发现请求;即所述第一设备将所述携带所述Probe Request的数据帧发送至所述接入点,所述接入点将所述包含ProbeRequest的数据帧广播至所述至少一个第二设备。在所述数据帧为所述第一设备向所述接入点发送的数据帧时,该数据帧包含的三个地址可依次为:所述接入点的地址;所述第一设备的地址;广播地址。在所述数据帧为所述接入点向所述至少一个第二设备广播的数据帧时,该数据帧包含的三个地址可以依次为:广播地址;所述接入点的地址;所述第一设备的地址。所述接入点接收所述第一设备发送的第一服务发现请求后,向与该接入点连接的至少一个第二设备广播第一服务发现请求。在所述第一设备发送的第一服务发现请求为数据帧格式时,所述接入点更改所述第一服务发现请求的数据帧帧头的地址信息,所述更改后的数据帧的帧头信息中的三个地址依次为:广播地址、所述接入点的地址、所述第一设备的地址。所述接入点将所述更改帧头后的数据帧广播给与该接入点关联的至少一个第二设备。或者;所述第一设备经接入点向与接入点连接的至少一个第二设备单播发送第一服务发现请求;即所述第一设备已获知与所述接入点连接的第二设备的地址信息,所述第一设备将所述携带所述Probe Request的数据帧发送至所述接入点,所述数据帧中携带所述第二设备的地址信息,所述接入点将所述包含Probe Request的数据帧发送至所述至少一个第二设备。在所述数据帧为所述第一设备向所述接入点发送第一服务发现请求的数据帧时,所述数据帧的帧头包含的地址依次为:所述接入点的信息;所述第一设备的信息;所述第二设备的信息。在所述数据帧为所述接入点向所述第二设备单播发送的数据帧时,所述数据帧的帧头包含的地址可以依次为:所述第二设备的地址、所述接入点的地址;所述第一设备的地址。所述接入点将所述更改帧头后的数据帧单播发送给与该接入点关联的至少一个第二设备。
可选地,所述第一设备经接入点向所述至少一个第二设备广播的第一服务发现请求可以为Service Discovery Request。
所述服务发现请求数据帧的帧体部分包括:探测请求帧的帧体部分;或者,服务发现请求帧的帧体部分。具体地,所述服务发现请求数据帧可包括帧头部分和帧体部分。所述帧体部分可只封装探测请求帧的帧体部分,例如Probe Request的帧体部分,而不包括Probe Request的帧头部分;所述帧体部分可只封装服务发现请求帧的帧体部分,例如Service Discovery Request的帧体部分,而不包括Service Discovery Request的帧头部分。所述服务发现请求数据帧根据具体的交互对象设置帧头部分的地址信息。
这里所说的Service Discovery Request/Response,具体可以为802.11标准中定义的通用广告服务请求/应答(generic advertisement service request/response),简称为GAS request/response,也可以为其他专门定义的服务发现请求/应答。
S102,所述第一设备接收所述至少一个第二设备发送的服务发现应答,所述服务发现应答为所述至少一个第二设备对所述服务发现请求的响应。
所述第二设备接收所述接入点发送的服务发现请求后,解析所述服务发现请求,获取所述第一设备的请求查询的服务的信息。在所述第二设备支持所述第一设备请求查询的服务时,所述第二设备生成服务发现应答,可选地,所述服务发现应答可仅包括所述第二设备支持该服务的信息,不涉及服务本身的信息,例如服务的类型、服务的具体内容;可选地,所述服务发现应答可包括所述至少一个第二设备支持的所述第一设备请求查询的服务,其不仅包括第二设备支持该服务的信息,还包括服务本身的信息,例如服务的类型、服务的具体内容。在所述第二设备不支持所述第一设备请求查询的服务时,所述第二设备也可生成服务发现应答,所述服务发现应答包括所述第二设备不支持该服务的信息。在所述第二设备不支持所述第一设备请求查询的服务时,所述第二设备也可不生成服务发现应答,本次服务发现交互过程结束。
可选地,在所述服务发现请求为Probe Request,所述服务发现应答为ProbeResponse。所述Probe Response为所述第二设备对所述第一设备发送的Probe Request 的响应。
可选地,在所述服务发现请求为Service Discovery Request,所述服务发现应答为Service Discovery Response。所述Service Discovery Response为所述第二设备对所述第一设备发送的Service Discovery Request的响应。
可选地,在所述服务发现请求包括多条交互消息时,所述第二设备可分别响应不同服务发现请求。例如,在所述第一设备发送的第一服务发现请求为Probe Request时,所述第二设备响应所述Probe Request,向所述第一设备发送Probe Response。在所述第一设备发送的第二服务发现请求为Service Discovery Request时,所述第二设备响应所述Service Discovery Request,向所述第一设备发送Service Discovery Response。
可选地,所述第二设备可直接向所述第一设备发送第一服务发现应答,所述第一服务发现应答为管理帧格式。所述管理帧的帧头可包含三个地址,所述A1为直接接受者地址,所述A2为直接发送者地址,所述A3为BSSID(Basic Service Set IDentifier,基本服务集标识),所述BSSID为所述第一设备和所述第二设备共同连接的接入点的MAC(MAC,MediumAccess Control,媒体接入控制)地址。具体地,该管理帧的帧头包含的三个地址可依次为:所述第一设备的地址,所述第二设备的地址,所述接入点的地址。
可选地,所述第二设备可经由所述接入点向所述第一设备发送第一服务发现应答,所述第一设备接收所述第二设备经由所述接入点发送的第一服务发现应答,所述第一服务发现应答为数据帧格式。所述第二设备向所述接入点发送的第一服务发现应答数据帧的帧头地址可依次为:所述接入点的地址;所述第二设备的地址;所述第一设备的地址;所述接入点接收所述第二设备经由该接入点向第一设备发送的第一服务发现应答后,调整所述第一服务发现应答数据帧的帧头地址,所述调整后的数据帧的帧头地址可依次为:所述第一设备的地址;所述接入点的地址;所述第二设备的地址。所述第一设备接收所述接入点发送的调整帧头地址后的第一服务发现应答数据帧。
在本发明实施例中,在多个电子设备均与接入点连接的场景中,不需要电子设备断开与接入点的连接即可实现多个电子设备之间服务发现消息的交互,提高了服务发现效率,继而提高了互通效率。例如,在发现查询方与发现响应方均与接入点连接的场景中,不需要发现查询方断开与接入点的连接即可实现与发现响应方的连接,提高了服务发现效率,继而提高了互通效率。
在本发明的一个实施例中,所述服务发现请求包括第一服务发现请求和第二服务发现请求。具体地,所述第一服务发现请求为Probe Request,所述第一服务发现应答为Probe Response。所述第二服务发现请求为Service Discovery Request,所述第二服务发现应答为Service Discovery Response,所述Service Discovery Response为所述第二设备对所述第一设备发送的Service Discovery Request的响应。所述第一设备经由所述接入点发送第一服务发现请求,所述第一服务发现请求为数据帧格式。所述第一设备接收第二设备发送的第一服务发现应答。所述第二设备可经由所述接入点发送所述第一服务发现应答,此时所述第一服务发现应答为数据帧格式;所述第二设备也可直接向所述第一设备发送所述第一服务发现应答,此时所述第一服务发现应答为管理帧格式。
可选地,所述第二服务发现请求与所述第二服务发现应答的交互,可不经由所述接入点转发,直接在所述第一设备和所述第二设备之间实现。所述第一设备可不经所述接入点直接向所述第二设备发送第二服务发现请求,所述第一设备向所述第二设备发送所述Service Discovery Request的管理帧,所述管理帧的帧头可包含三个地址,所述A1为直接接收者地址,所述A2为直接发送者地址,所述A3为BSSID。具体地,该管理帧的帧头所包含的三个地址可依次为:所述第二设备的地址,所述接入点的地址,所述第一设备的地址。所述第二设备接收所述第一设备发送的第二服务发现请求后,获取所述Service DiscoveryRequest,生成对该Service Discovery Request的响应第二服务发现响应ServiceDiscovery Response。所述第二设备向所述第一设备发送所述Service DiscoveryResponse的管理帧。所述管理帧的帧头可包含三个地址,所述所述A1为直接接收者地址,所述A2为直接发送者地址,所述A3为BSSID。具体地,该数据帧的帧头所包含的三个地址可依次为:所述第一设备的地址,所述第二设备的地址,所述接入点的地址。所述第一设备获取所述Service Discovery Response的管理帧后,获取所述第二服务发现应答,获取详细的服务信息。
可选地,所述第二服务发现请求与所述第二服务发现应答的交互,可经由所述接入点转发,在所述第一设备、所述第二设备和所述接入点之间实现。所述第一设备可经所述接入点向所述第二设备发送第二服务发现请求,所述第二服务发现请求可以为包含管理帧Service Discovery Request的数据帧。所述包含管理帧可以是只包含该管理帧的帧体部分,也可以是包含该管理帧的帧头和帧体部分。所述数据帧的帧头中地址的规则按照上述排列规则依次排列,即:在所述数据帧为设备向接入点发送的数据帧时,所述A1为直接接收者地址,所述A2为直接发送者地址,所述A3为最终目标地址;在所述数据帧为接入点向设备发送的数据帧时,所述A1为直接接收者地址,同时也刚好是目标地址,所述A2为直接发送者地址,所述A3为最初源地址。因此,在所述第一设备向所述接入点发送第二服务发现请求时,所述数据帧的帧头可包含的三个地址具体分别为:所述接入点的地址;所述第一设备的地址;所述第二设备的地址。在所述接入点接收所述第一设备发送的第二服务发现请求后,更改所述第二服务发现请求的数据帧的帧头地址,所述数据帧的帧头包括的三个地址可具体更改为:所述第二设备的地址;所述接入点的地址;所述第一设备的地址。所述第二设备获取所述接入点发送的第二服务发现请求后,获取所述第一设备发送的ServiceDiscovery Request。所述第二设备生成Service Discovery Response,所述ServiceDiscovery Response包括对所述Service Discovery Request中包含的服务名称所对应的服务的详细信息,所述第二设备将所述Service Discovery Response封装到数据帧中。所述第二设备可经由所述接入点将所述包含Service Discovery Response的数据帧发送给所述第一设备,所述第二设备向所述接入点发送的第二发现应答的数据帧的帧头所包含的地址信息依次为:所述接入点的地址,所述第二设备的地址,所述第一设备的地址;所述接入点获取所述第二设备发送的第二发现响应的数据帧后,更改所述数据帧的帧头所包含的地址信息,变更后的帧头包含的地址信息依次为:所述第一设备的地址,所述接入点的地址,所述第二设备的地址;所述第一设备接收所述接入点转发的第二发现应答。所述第二服务发现请求与所述第二服务发现应答的交互,可经由所述接入点转发,在所述第一设备、所述第二设备和所述接入点之间实现。
可选地,所述第二服务发现请求与所述第二服务发现应答的交互,可部分经由所述接入点转发,即所述第二服务发现请求经由所述接入点转发,所述第二服务发现应答在所述第一设备和所述第二设备之间直接发送;或者,所述第二服务发现请求在所述第一设备和所述第二设备之间直接发送,所述第二服务发现应答经由所述接入点转发。对此可能的第二服务发现请求与第二服务发现应答的交互形式,本发明实施例不做限定。
需要说明的是,在本发明实施例的上述交互形式中,在所述第二服务发现请求与所述第二服务发现应答的交互有接入点参与时,经由所述接入点参与的消息,如所述接入点接收的消息或所述接入点发送的消息,所述消息的格式为数据帧格式,所述管理帧格式的交互信息封装在数据帧格式的交互信息中。所述封装可以是只把管理帧的帧体封装在数据帧中,也可以是把管理帧的帧头和帧体全部都封装在数据帧中。在所述第二服务发现请求与所述第二服务发现应答的交互没有接入点参与,消息直接在所述第一设备和所述第二设备之间发送时,所述消息的格式为管理帧格式。
在所述第一设备获取所述第二设备发送的第一服务发现应答后,向所述第二设备发送第二服务发现请求。所述第二服务发现请求携带所述第一服务发现应答所包含的服务名称。所述第二设备接收所述第一设备发送的第二服务发现请求,获取所述服务名称,生成第二服务发现应答,所述第二服务发现应答包括所述服务名称对应的服务的详细描述,以便所述第一设备获取所述第二设备关于该服务的具体提供信息,例如是否支持该服务、支持何种服务类型、所支持服务的层级、参数等,所述第一设备可据此判断是否为该设备需要的服务,进而确定是否建立连接,提高了连接效率。
在本发明的一个实施例中,所述服务发现请求数据帧的帧体部分包括:探测请求帧的帧体部分;或者,服务发现请求帧的帧体部分。具体地,所述服务发现请求数据帧包括帧头和帧体。所述探测请求帧和所述服务发现请求帧均为管理帧,所述管理帧同样包括帧头和帧体。所述探测请求帧为Probe Request,所述服务发现请求帧为service discoveryRequest。所述服务发现请求数据帧的帧体部分可包括所述探测请求帧的帧头和帧体,也可以只包括所述探测请求帧的帧体部分;同样,所述服务发现请求数据帧的帧体部分可包括所述服务发现请求帧的帧头和帧体,也可以只包括所述服务发现请求帧的帧体部分。
在本发明的一个实施例中,所述服务发现应答包括所述第二设备的IP地址信息。更进一步地,在所述第一设备与所述第二设备建立ASP会话前,所述第一设备可通过与所述第二设备交互获取的任一应答消息获取所述第二设备的IP地址信息。可选地,所述第一服务发现应答包括所述第二设备的IP地址信息,例如所述Probe Response中携带所述第二设备的IP地址信息。可选地,所述第二服务发现应答包括所述第二设备的IP地址信息,例如所述service discovery Response中携带所述第二设备的IP地址信息。可选地,第一能力协商应答包括所述第二设备的IP地址信息,例如所述provision discovery Response中携带所述第二设备的IP地址信息。可选地,第二能力协商应答包括所述第二设备的IP地址信息,例如所述Follow-on provision discovery Response中携带所述第二设备的IP地址信息。
在本发明的一个实施例中,在所述第一设备与所述第二设备建立ASP会话前,所述第一设备可通过反向地址转换协议(Reverse Address Resolution Protocol,RARP)获取获取所述第二设备的IP地址信息。所述方法还包括:所述服务发现应答包括所述第二设备的MAC地址;在所述第一设备接收所述至少一个第二设备发送的服务发现应答后,所述第一设备向反向地址转换协议服务器发送查询请求;所述查询请求包括所述第二设备的Mac地址;所述查询请求用于查询所述第二设备的IP地址信息;所述第一设备接收反向地址转换协议服务器发送的查询应答;所述查询应答包括所述第二设备的IP地址信息。具体地,在所述第一设备向第二设备单播发送服务发现请求时,所述第一设备已经获取所述第二设备的Mac地址;在所述第一设备经由接入点广播服务发现请求时,所述第一设备接收第二设备发送的服务发现应答,获取所述服务发现应答中包含的Mac地址。所述第一设备向所述反向地址转换协议服务器发送地址查询请求。所述反向地址转换协议服务器存储有所述第二设备的Mac地址、IP地址以及两者之间的映射关系。所述反向地址转换协议服务器接收所述第一设备发送的地址查询请求后,获取所述第二设备的MAC地址,所述反向地址转换协议服务器根据所述第二设备的MAC地址获取所述第二设备的IP地址。所述反向地址转换协议服务器生成查询应答,并向所述第一设备发送所述查询应答,所述查询应答包括所述第二设备的IP地址信息。
进一步地,所述反向地址转换协议服务器与所述接入点为同一设备;所述第一设备向所述接入点发送查询请求,所述查询请求包括所述第二设备的Mac地址,所述查询请求用于查询所述第二设备的IP地址信息;所述第一设备接收所述接入点发送的查询应答。所述接入点存储有所述第二设备的Mac地址、IP地址以及两者之间的映射关系。所述接入点获取包含第二设备Mac地址的查询请求后,获取所述Mac地址对应的IP地址,并生成查询应答,所述查询应答包括所述第二设备的IP地址信息。
在本发明的一个实施例中,所述方法还包括:所述第一设备经由所述接入点向所述第二设备发送第一能力协商请求;所述第一设备接收所述第二设备发送的第一能力协商应答,所述第一能力协商应答为所述第二设备对所述第一能力协商请求的响应。具体地,在所述第一设备与所述第二设备完成服务发现后,所述第一设备与所述第二设备进入能力协商阶段。
在本发明实施例的一种实现方式中,所述第一设备向经由所述接入点向所述第二设备发送第一能力协商请求,所述第一能力协商请求可以为provision discoveryRequest。所述第一设备将所述管理帧provision discovery Request封装成第一能力协商请求数据帧,所述数据帧的帧头包含的地址信息可依次为:所述接入点的地址信息;所述第一设备的地址信息;所述第二设备的地址信息。所述第一设备向所述接入点发送所述第一能力协商请求数据帧。所述接入点接收所述第一能力协商请求数据帧后,更改所述数据帧的帧头地址,更改后的数据帧的帧头包含的地址信息可依次为:所述第二设备的地址信息;所述接入点的地址信息;所述第一设备的地址信息。所述接入点将帧头地址信息更改后的能力协商请求发送至所述第二设备。所述第二设备接收所述第一能力协商请求后,获取所述provision discovery Request,解析获得所述第一设备的联网需求等能力协商信息。具体地,所述第一设备可有多种联网需求:一,所述第一设备要求在与所述第二设备的交互中充当群主(Group Owner,GO)角色;二,所述第一设备要求在与所述第二设备的交互中充当群成员(GroupClient)角色;三,所述第一设备在与所述第二设备的交互中身份不限,既可为群主,也为群成员;四,所述第一设备要求与所述第二设备通过接入点的已有网络连接进行传输。所述所述第一设备要求与所述第二设备通过接入点的已有网络连接进行传输,具体可通过所述第一设备在provision discovery Request中携带通过接入点的已有网络连接进行传输的指示信息实现。所述第二设备判断根据自身情况,确定是否可接收所述第一设备的联网需求。这里所说的联网需求,可以是没有网络连接的情况下建立连接的需求,也可以是已经有了网络连接后,如何进行上层业务传输的需求。
可选地,在所述第二设备无法满足所述第一设备的联网需求时,所述第二设备生成第一能力协商应答,所述第一能力协商应答可以为provision discovery Response,所述第一能力协商应答用于告知所述第一设备该第二设备无法满足所述第一设备的联网需求,所述第一设备与所述第二设备的交互结束。所述第二设备可将所述管理帧provisiondiscovery Response封装成能力协商应答数据帧,经由所述接入点向所述第一设备发送第一能力协商应答;或者,所述第二设备可不经由所述接入点,直接将所述管理帧provisiondiscovery Response发送给所述第一设备。
可选地,在所述第二设备可以满足所述第一设备的联网需求时,所述第二设备生成第一能力协商应答,所述第一能力协商应答可以为provision discovery Response,所述第一能力协商应答用于告知所述第一设备该第二设备可满足所述第一设备的联网需求,并同意所述第一设备的联网需求。所述第二设备可将所述管理帧provision discoveryResponse封装成能力协商应答数据帧,经由所述接入点向所述第一设备发送第一能力协商应答;或者,所述第二设备可不经由所述接入点,直接将所述管理帧provision discoveryResponse发送给所述第一设备。
可选地,所述第二设备获取所述第一设备的第一能力协商请求,获取所述第一设备的联网需求后,所述第二设备生成第一能力协商应答,所述第一能力协商应答可以为provision discovery Response,所述第一能力协商应答用于告知所述第一设备该第二设备已获知所述第一设备的联网需求,但不包含所述第二设备是否同意所述第一设备联网需求的实质信息。在向所述第一设备发送第一能力协商应答(provision discoveryResponse)后,所述第二设备可将所述第一能力协商请求包含的信息呈现给用户。在获取用户的指令后,所述第二设备可经由所述接入点向所述第一设备发送第二能力协商请求,所述第二能力协商请求可以为Follow-on provision discovery Request,所述第二能力协商请求用于告知所述第一设备,所述第二设备是否同意所述第一设备的联网需求。所述第二设备可将所述管理帧Follow-on provision discovery Request封装成第二能力协商请求数据帧,并按照前述的数据帧帧头设置规则经由所述接入点向所述第一设备发送第二能力协商请求数据帧;或者,所述第二设备也可不经所述接入点,直接向所述第一设备发送Follow-on provision discovery Request管理帧。所述第一设备获取所述第二设备发送的第二能力协商请求后,生成第二能力协商应答,所述第二能力协商应答可以为Follow-onprovision discovery Response,所述第二能力协商应答用于告知所述第二设备,所述第一设备已获知所述第二设备的联网需求意见。所述第一设备可将所述管理帧Follow-onprovision discovery Response封装成第二能力协商应答数据帧,并按照前述的数据帧帧头设置规则经由所述接入点向所述第二设备发送;所述第一设备也可不经所述接入点,直接向所述第二设备发送管理帧Follow-on provision discovery Response。
在本发明实施例的一种实现方式中,所述第一能力协商请求与所述第一能力协商应答的交互,所述第二能力协商请求与所述第二能力协商应答的交互,均可不经由所述接入点转发。其它可交互的方式包括:可选地,所述消息的交互可直接由所述第一设备和所述第二设备进行,即所述第一设备直接向所述第二设备发送所述第一能力协商请求,所述第二设备获取所述第一能力协商请求生成第一能力协商应答后,所述第二设备直接向所述第一设备发送所述第一能力协商应答。
在本发明实施例的一种实现方式中,所述第一能力协商请求与所述第一能力协商应答的交互,所述第二能力协商请求与所述第二能力协商应答的交互,可由所述接入点部分参与。例如所述第一设备经由所述接入点向所述第二设备发送第一能力协商请求,所述第二设备获取所述第一能力协商请求生成第一能力协商应答后,所述第二设备直接向所述第一设备发送所述第一能力协商应答。又例如,所述第一设备直接向所述第二设备发送第一能力协商请求,所述第二设备获取所述第一能力协商请求生成第一能力协商应答后,所述第二设备经由所述接入点向所述第一设备发送所述第一能力协商应答。
对此可能的交互形式,本发明实施例不做限定。
具体地,如图5所示,本发明实施例提供的服务发现方法可包括如下步骤,该方法可以由发现响应方执行。
S201,第二设备接收第一设备经由接入点发送的服务发现请求;所述服务发现请求用于向所述第二设备查询所述第一设备请求查询的服务;
具体地,本发明实施例中,所述第一设备为发现查询方,所述第二设备为发现响应方。所述第一设备与所述接入点连接,所述第二设备与所述接入点连接。
所述第一设备向所述第二设备发送服务发现请求,所述服务发现请求可包含所述第一设备请求查询的服务的信息,所述服务发现请求用于向所述第二设备查询所述第一设备请求查询的服务。所述第二设备接收所述服务发现请求后,获取所述第一设备请求查询的服务的信息。可选地,所述服务发现请求为数据帧格式,包括帧头和帧体。所述数据帧的帧头所包含的地址信息遵循上述提及的规则,可根据数据帧的发送方和接收方的不同而调整。在所述数据帧为设备向接入点发送的数据帧时,所述数据帧的帧头地址依次为:所述A1为直接接收者地址,所述A2为直接发送者地址,所述A3为最终目标地址;在所述数据帧为接入点向设备发送的数据帧时,所述A1为直接接收者地址,同时也刚好是目标地址,所述A2为直接发送者地址,所述A3为最初源地址。例如,所述第二设备接收的接入点转发的由所述第一设备发送的数据帧的帧头地址信息可依次包括:所述第二设备的地址信息;所述接入点的地址信息;所述第一设备的地址信息。
可选地,所述服务发现请求可以为Probe Request。在所述服务发现请求为ProbeRequest时,所述服务发现应答为Probe Response。所述Probe Response为所述第二设备对所述第一设备发送的Probe Request的响应。
可选地,所述服务发现请求可以为Service Discovery Request。在所述服务发现请求为Service Discovery Request时,所述服务发现应答为Service DiscoveryResponse。所述Service Discovery Response为所述第二设备对所述第一设备发送的Service Discovery Request的响应。
S202,所述第二设备向所述第一设备发送服务发现应答;所述服务发现应答为所述第二设备对所述第一服务发现请求的响应。
具体地,所述第二设备获取所述第一设备请求查询的服务的信息后,在所述第二设备支持所述第一设备请求查询的服务时,所述第二设备生成服务发现应答,可选地,所述服务发现应答可仅包括所述第二设备支持该服务的信息,不涉及服务本身的信息,例如服务的类型、服务的具体内容;可选地,所述服务发现应答可包括所述至少一个第二设备支持的所述第一设备请求查询的服务,其不仅包括第二设备支持该服务的信息,还包括服务本身的信息,例如服务的类型、服务的具体内容。。
可选地,所述第二设备可不经所述接入点直接向所述第一设备发送服务发现应答。此时,所述服务发现应答为管理帧格式。
可选地,所述第二设备可经由所述接入点向所述第一设备发送服务发现应答;所述服务发现应答为数据帧格式。所述第二设备向所述接入点发送的服务发现应答数据帧的帧头依次包括:所述接入点的地址;所述第二设备的地址;所述第一设备的地址。所述接入点接收所述服务发现应答数据帧后,改变所述服务发现应答数据帧的帧头地址信息,所述更改后的数据帧的帧头地址依次包括:所述第一设备的地址,所述接入点的地址,所述第二设备的地址。
可选地,所述服务发现应答包括所述第二设备的IP地址信息。例如,在所述服务发现请求为Probe Request时,所述管理帧Probe Response 包括所述第二设备的IP地址信息,或者包含所述Probe Response的数据帧包括所述第二设备的IP地址信息。或者,在所述服务发现应答为Service Discovery Response时,所述管理帧Service DiscoveryResponse包括所述第二设备的IP地址信息,或者包含所述Service Discovery Response的数据帧包括所述第二设备的IP地址信息。
在本发明实施例中,在多个电子设备均与接入点连接的场景中,不需要电子设备断开与接入点的连接即可实现多个电子设备之间服务发现消息的交互,提高了服务发现效率,继而提高了互通效率。
在本发明的一个实施例中,所述方法还包括:所述第二设备接收所述第一设备发送的第一能力协商请求;所述第二设备向所述第一设备发送第一能力协商应答,所述第一能力协商应答为所述第二设备对所述第一服务发现请求的响应。具体地,在所述第一设备获取所述第二设备的服务发现应答后,所述第一设备获知所述第二设备是否支持该第一设备请求查询的服务。在所述第二设备支持所述第一设备请求查询的服务的情形时,所述第一设备向所述第二设备发送第一能力协商请求,所述第一能力协商请求可以为provisiondiscovery Request。所述第一设备可经由所述接入点向所述第二设备发送第一能力协商请求,此时所述第一能力协商请求为数据帧格式;或者,所述第一设备也可直接向所述第二设备发送第一能力协商请求,此时所述第一能力协商请求为管理帧格式。
所述第二设备获取所述第一设备发送的第一能力协商请求后,向所述第一设备发送发送第二能力协商应答,所述第一能力协商应答可以为provision discoveryResponse。可选地,所述第二设备经由所述接入点向所述第一设备发送第一能力协商应答,此时所述第一能力协商应答为数据帧格式;或者,可选地,所述第二设备可直接向所述第一设备发送第一能力协商应答,此时所述第一能力协商应答为管理帧格式。
可选地,所述第一能力协商应答包括所述第二设备的IP地址信息。例如所述管理帧provision discovery Response包括所述第二设备的IP地址信息,或者包含所述provision discovery Response的数据帧包括所述第二设备的IP地址信息。
在本发明的一个实施例中,所述方法还包括:所述第二设备获取用户输入的响应指令,向所述第一设备发送第二能力协商请求;所述第二设备接收所述第一设备发送的第二能力协商应答,所述第二能力协商应答为所述第一设备对所述第二能力协商请求的响应。具体地,所述第二设备获取所述第一设备的第一能力协商请求,获取所述第一设备的联网需求后,所述第二备生成第一能力协商应答,所述第一能力协商应答用于告知所述第一设备该第二设备已获知所述第一设备的联网需求,但不包含所述第二设备是否同意所述第一设备联网需求的实质信息。在向所述第一设备发送第一能力协商应答(provisiondiscovery Response)后,所述第二设备可将所述第一能力协商请求包含的信息呈现给用户。在获取用户的指令后,所述第二设备可经由所述接入点向所述第一设备发送第二能力协商请求,所述第二能力协商请求可以为Follow-on provision discovery Request,所述第二能力协商请求用于告知所述第一设备,所述第二设备是否同意所述第一设备的联网需求。
可选地,所述第二设备获取用户输入的响应指令,经由所述接入点向所述第一设备发送第二能力协商请求。所述第二设备可将所述管理帧Follow-on provisiondiscovery Request封装成第二能力协商请求数据帧,并按照前述的数据帧帧头设置规则经由所述接入点向所述第一设备发送第二能力协商请求数据帧。或者,可选地,所述第二设备也可不经所述接入点,直接向所述第一设备发送Follow-on provision discoveryRequest管理帧。
所述第一设备获取所述第二设备发送的第二能力协商请求后,生成第二能力协商应答,所述第二能力协商应答可以为Follow-on provision discovery Response,所述第二能力协商应答用于告知所述第二设备,所述第一设备已获知所述第二设备的联网需求信息。所述第一设备可将所述管理帧Follow-on provision discovery Response封装成第二能力协商应答数据帧,并按照前述的数据帧帧头设置规则经由所述接入点向所述第二设备发送;所述第一设备也可不经所述接入点,直接向所述第二设备发送管理帧Follow-onprovision discovery Response发送。
可选地,所述第二能力协商请求包括所述第二设备的IP地址信息,例如所述管理帧Follow-on provision discovery Request包括所述第二设备的IP地址信息,或者包含所述Follow-on provision discovery Request的数据帧包括所述第二设备的IP地址信息。
具体地,如图6所示,本发明实施例提供的服务发现方法可包括如下步骤,该方法可以由接入点执行。
S301,接入点接收第一设备发送的服务发现请求;所述服务发现请求用于向所述至少一个第二设备查询所述第一设备请求查询的服务;所述接入点与所述至少一个第二设备连接;
具体地,所述接入点参与第一设备与第二设备之间的交互,所述接入点与所述第一设备连接,所述接入点与至少一个第二设备连接。所述第一设备与所述第二设备的交互信息中,经由所述接入点转发的交互信息可为数据帧格式。所述数据帧格式的交互信息包括帧头和帧体部分,所述帧头所包含的地址信息遵循上述规则,本发明实施例在此不再赘述。
可选地,所述服务发现请求可以为Probe Request。所述第一设备将所述ProbeRequest封装为数据帧,所述接入点接收所述第一设备发送的包含Probe Request的数据帧。
可选地,所述服务发现请求可以为Service Discovery Request。所述第一设备将所述Service Discovery Request封装为数据帧,所述接入点接收所述第一设备发送的包含Service Discovery Request的数据帧。
S302,所述接入点向所述至少一个第二设备发送所述服务发现请求;
可选地,所述服务发现请求为数据帧格式,所述第一设备经由接入点单播发送所述服务发现请求。在所述接入点接收所述第一设备发送的服务发现请求后,所述接入点更改所述服务发现请求数据帧的帧头所包含的地址信息,向所述至少一个第二设备发送所述更改后的数据帧。所述接入点接收的所述第一设备发送的数据帧的帧头地址信息可依次包括:所述接入点的地址信息;所述第一设备的地址信息;所述第二设备的地址信息。所述接入点修改所述数据帧的帧头地址,所述接入点发送的修改后的服务发现请求数据帧的帧头地址信息依次包括:所述第二设备的地址信息;所述接入点的地址信息,所述第一设备的地址信息。所述接入点将所述修改后的数据帧发送至所述至少一个第二设备。
可选地,所述服务发现请求为数据帧格式,所述接入点广播所述服务发现请求。具体地,所述第一设备经由所述接入点广播服务发现请求。此时,所述接入点接收的所述第一设备发送的数据帧的帧头地址信息可依次包括:所述接入点的地址信息;所述第一设备的地址信息;广播地址。所述接入点修改所述数据帧的帧头地址,所述接入点广播的修改后的服务发现请求数据帧的帧头地址信息依次包括;所述广播地址;所述计入点的地址;所述第一设备的地址。所述接入点广播所述修改后的数据帧。
S303,所述接入点接收所述第二设备发送的服务发现应答,所述服务发现应答为所述第二设备对所述服务发现请求的响应;
在所述第二设备支持所述第一设备请求查询的服务时,所述第二设备生成服务发现应答,可选地,所述服务发现应答可仅包括所述第二设备支持该服务的信息,不涉及服务本身的信息,例如服务的类型、服务的具体内容;可选地,所述服务发现应答可包括所述至少一个第二设备支持的所述第一设备请求查询的服务,其不仅包括第二设备支持该服务的信息,还包括服务本身的信息,例如服务的类型、服务的具体内容。
可选地,所述服务发现请求为Probe Request,所述服务发现应答为ProbeResponse。所述Probe Response为所述第二设备对所述第一设备发送的Probe Request的响应。可选地,所述服务发现应答包括所述第二设备的IP地址信息,所述Probe Response包括所述第二设备的IP地址信息。
可选地,所述服务发现请求为Service Discovery Request,所述服务发现应答为Service Discovery Response。所述Service Discovery Response为所述第二设备对所述第一设备发送的Service Discovery Request的响应。可选地,所述服务发现应答包括所述第二设备的IP地址信息,所述Service Discovery Response包括所述第二设备的IP地址信息。
S304,所述接入点向所述第一设备发送所述服务发现应答。
具体地,在所述接入点获取所述第二设备的服务发现应答后,所述接入点更改所述服务发现应答数据帧的帧头地址包含的地址信息。所述更改后的服务发现应答的数据帧的帧头包括的地址信息依次为:所述第一设备的地址信息;所述接入点的地址信息;所述第二设备的地址信息。所述接入点向所述第一设备发送所述服务发现应答,所述第一设备获取所述服务发现应答后,获取所述第二设备是否支持所述服务发现请求包含的服务信息,并获知所述至少一个第二设备支持的服务。
在本发明实施例中,在多个电子设备均与接入点连接的场景中,不需要电子设备断开与接入点的连接即可实现多个电子设备之间服务发现消息的交互,提高了服务发现效率,继而提高了互通效率。
在本发明的一个实施例中,所述服务发现应答包括所述第二设备的MAC地址;在所述接入点向所述第一设备发送所述服务发现应答后,所述方法还包括:所述接入点接收所述第一设备发送的查询请求,所述查询请求包括所述第二设备的MAC地址,所述查询请求用于查询所述第二设备的IP地址信息;所述接入点向所述第一设备发送查询应答;所述查询应答包括所述第二设备的IP地址信息。在所述第一设备与所述第二设备建立ASP会话前,所述第一设备可通过反向地址转换协议(Reverse Address Resolution Protocol,RARP)获取获取所述第二设备的IP地址信息。具体地,所述第一设备获取所述第二设备的Mac地址信息。所述第一设备向所述接入点发送地址查询请求,请求根据所述第二设备的Mac地址获取所述第二设备的IP地址信息,所述地址查询请求包括所述第二设备的MAC地址。所述接入点存储有所述第二设备的Mac地址、IP地址以及两者之间的映射关系。所述接入点接收所述第一设备发送的地址查询请求后,获取所述第二设备的MAC地址,所述接入点根据所述第二设备的MAC地址获取所述第二设备的IP地址。所述接入点生成查询应答,并向所述第一设备发送所述查询应答,所述查询应答包括所述第二设备的IP地址信息。
在本发明的一个实施例中,所述方法还包括:所述接入点接收所述第一设备发送的第一能力协商请求;所述第一能力协商应答为数据帧格式;所述接入点向所述第二设备发送所述第一能力协商请求;所述接入点接收所述第二设备发送的第一能力协商应答,所述能力协商应答为所述第二设备对所述能力协商请求的响应;所述第一能力协商应答为数据帧格式;所述接入点向所述第一设备发送所述第一能力协商应答。所述第一能力协商请求可以为provision discovery Request,所述第一设备将所述管理帧provisiondiscovery Request封装成第一能力协商请求数据帧,向所述接入点发送所述第一能力协商请求数据帧。所述接入点接收所述第一能力协商请求数据帧后,更改所述数据帧的帧头地址,更改后的数据帧的帧头包含的地址信息可依次为:所述第二设备的地址信息;所述接入点的地址信息;所述第一设备的地址信息。所述接入点将帧头地址信息更改后的能力协商请求发送至所述第二设备。所述第二设备接收所述第一能力协商请求后,获取所述provision discovery Request,解析获得所述第一设备的联网需求,并生成第一能力协商应答。所述第一能力协商应答可以为provision discovery Response。所述第二设备将所述provision discovery Response封装成第一能力协商应答数据帧,向所述接入点发送所述第一能力协商应答数据帧。所述接入点接收所述第一能力协商应答数据帧后,更改所述数据帧的帧头地址,并将所述帧头地址信息更改后的能力协商请求发送至所述第一设备。
可选地,所述第一能力协商应答包括所述第二设备的IP地址信息,即包含所述provision discovery Response的第一能力协商应答数据帧包含所述第二设备的IP地址信息。
进一步地,在本发明实施例中,所述方法还包括:所述接入点接收所述第二设备发送的第二能力协商请求;所述第二能力协商请求为数据帧格式;所述接入点向所述第一设备发送所述第二能力协商请求;所述接入点接收所述第一设备发送的第二能力协商应答,所述第二能力协商应答为所述第二设备对所述第二能力协商请求的响应;所述第二能力协商应答为数据帧格式;所述接入点向所述第二设备发送所述第二能力协商应答。
具体地,所述第二设备获取所述第一设备的第一能力协商请求,获取所述第一设备的联网需求后,所述第二备生成第一能力协商应答,所述第一能力协商应答用于告知所述第一设备该第二设备已获知所述第一设备的联网需求,但不包含所述第二设备是否同意所述第一设备联网需求的实质信息。所述第二设备通过第二能力协商消息的交互实现所述第一设备和所述第二设备联网需求的确认。所述第二能力协商请求可以为Follow-onprovision discovery Request,所述第二设备可将所述Follow-on provision discoveryRequest封装成第二能力协商请求数据帧,所述接入点接收所述第二设备发送的所述第二能力协商请求数据帧。所述接入点按照前述的数据帧帧头设置规则更改所述第二能力协商请求数据帧的帧头所包含的地址信息,并将所述帧头地址信息更改后的第二能力协商请求发送至所述第一设备。所述第一设备获取第二能力协商请求后,生成第二能力协商应答。所述第一设备将Follow-on provision discovery Response封装成第二能力协商应答数据帧,并按照前述的数据帧帧头设置规则向所述接入点发送所述第二能力协商应答数据帧。所述接入点获取所述第二能力协商应答数据帧后,按照前述的数据帧帧头设置规则更改所述第二能力协商应答数据帧的帧头所包含的地址信息,并将所述更改后额第二能力协商应答数据帧发送至所述第二设备。
可选地,所述第二能力协商请求包括所述第二设备的IP地址信息,即所述包括Follow-on provision discovery Response的数据帧包括所述第二设备的IP地址信息。
请参阅图7,图7为本发明实施例提供的一种电子设备的结构示意图。电子设备,也可称之为用户设备(UE,User Equipment),移动用户设备等,可以经无线接入网(例如,RAN,Radio Access Network)与一个或多个核心网进行通信,如移动电话(或称为“蜂窝”电话)和计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。所述电子设备可以是智能手机、平板电脑(TabletPersonal Computer)、个人数字助理(personal digital assistant,简称PDA)、移动上网装置(Mobile Internet Device,MID)或可穿戴式设备(Wearable Device)等。本发明实施例提供的电子设备包括发送单元701和接收单元702,所述发送单元701与所述接收单元702连接。具体地,
所述发送单元701,用于经接入点向与所述接入点连接的至少一个第二设备发送服务发现请求;所述服务发现请求用于向所述至少一个第二设备查询所述第一设备请求查询的服务。具体地,所述第一设备与所述接入点连接,所述接入点与至少两个设备连接。除所述第一设备外,所述接入点至少与至少一个第二设备连接。可选地,所述发送单元701发送的服务发现请求可以为Probe Request。可选地,所述发送单元701发送的服务发现请求可以为Service Discovery Request。可选地,所述发送单元701可经由接入点发送两个服务发现请求,其中,第一服务发现请求可以为Probe Request,第二服务发现请求可以为Service Discovery Request。
接收单元702,用于接收所述至少一个第二设备发送的服务发现应答,所述服务发现应答为所述至少一个第二设备对所述服务发现请求的响应。所述第二设备接收所述接入点发送的服务发现请求后,解析所述服务发现请求,获取所述第一设备的服务信息获取需求,在所述第二设备支持所述第一设备请求查询的服务时,所述第二设备生成服务发现应答,可选地,所述服务发现应答可仅包括所述第二设备支持该服务的信息,不涉及服务本身的信息,例如服务的类型、服务的具体内容;可选地,所述服务发现应答可包括所述至少一个第二设备支持的所述第一设备请求查询的服务,其不仅包括第二设备支持该服务的信息,还包括服务本身的信息,例如服务的类型、服务的具体内容。所述接收单元702接收所述服务发现应答,获取服务应答包括的所述服务的具体信息。可选地,在所述发送单元701发送的服务发现请求为Probe Request时,所述接收单元702接收的服务发现应答为ProbeResponse,所述Probe Response为所述第二设备对所述第一设备发送的Probe Request的响应。可选地,在所述发送单元701发送的服务发现请求为Service Discovery Request时,所述服务发现应答为Service Discovery Response。所述Service Discovery Response为所述第二设备对所述第一设备发送的Service Discovery Request的响应。
在本发明实施例中,在多个电子设备均与接入点连接的场景中,不需要电子设备断开与接入点的连接即可实现多个电子设备之间服务发现消息的交互,提高了服务发现效率,继而提高了互通效率。
在本发明的一个实施例中,所述服务发现请求为数据帧格式;所述发送单元具体用于,经接入点广播服务发现请求;其中,所述发送单元向所述接入点发送的服务发现请求数据帧的帧头依次包括:所述接入点的地址;所述第一设备的地址;广播地址;所述发送单元经接入点广播的服务发现请求数据帧的帧头依次包括:所述广播地址;所述接入点的地址;所述第一设备的地址。所述数据帧格式包括帧头和帧体,所述数据帧的帧头包括服务发现请求的地址信息。所述接入点接收所述发送单元发送的服务发现请求数据帧后,更改所述数据帧帧头的地址格式,将原先数据帧帧头所包括的地址信息(依次为:所述接入点的地址;所述第一设备的地址;广播地址)更改为接入点广播服务发现请求数据帧的帧头所包括的地址信息(依次为:所述广播地址;所述接入点的地址;所述第一设备的地址)。所述接入点广播帧头地址更改后的服务发现请求数据帧。
在本发明的一个实施例中,所述服务发现请求为数据帧格式;所述发送单元具体用于,经接入点单播发送服务发现请求;所述发送单元向所述接入点发送的服务发现请求数据帧的帧头依次包括:所述接入点的地址;所述第一设备的地址;所述第二设备的地址;所述发送单元经接入点单播发送的服务发现请求数据帧的帧头依次包括:所述第二设备的地址;所述接入点的地址;所述第一设备的地址。所述数据帧格式包括帧头和帧体,所述数据帧的帧头包括服务发现请求的地址信息。所述接入点接收所述发送单元发送的服务发现请求数据帧后,更改所述数据帧帧头的地址格式,将原先数据帧帧头所包括的地址信息(依次为:所述接入点的地址;所述第一设备的地址;所述第二设备的地址)更改为接入点广播服务发现请求数据帧的帧头所包括的地址信息(依次为:所述第二设备的地址;所述接入点的地址;所述第一设备的地址)。所述接入点单播发送帧头地址更改后的服务发现请求数据帧。
在本发明的上述实施例中,所述发送单元发送的服务发现请求数据帧的帧体部分包括:探测请求帧的帧体部分;或者,服务发现请求帧的帧体部分。具体地,所述服务发现请求数据帧包括帧头和帧体。所述探测请求帧和所述服务发现请求帧均为管理帧,所述管理帧同样包括帧头和帧体。所述探测请求帧为Probe Request,所述服务发现请求帧为service discovery Request。所述服务发现请求数据帧的帧体部分可包括所述探测请求帧的帧头和帧体,也可以只包括所述探测请求帧的帧体部分;同样,所述服务发现请求数据帧的帧体部分可包括所述服务发现请求帧的帧头和帧体,也可以只包括所述服务发现请求帧的帧体部分。
在本发明的上述实施例中,所述接收单元具体用于,接收所述至少一个第二设备经由所述接入点发送的服务发现应答,所述服务发现应答为数据帧格式。具体地,第二设备接收所述服务发现请求后,可响应所述服务发现请求,向第一设备发送服务发现应答。所述第二设备可经由接入点向所述第一设备发送服务发现应答,所述服务发现应答为数据帧格式,其帧头格式可参照上述规则。所述第二设备也可不经接入点直接向第一设备发送服务发现应答,此时所述服务发现应答为管理帧。
在本发明的上述实施例中,所述接收单元接收的服务发现应答包括所述第二设备的IP地址信息。
在本发明的上述实施例中,所述服务发现应答包括所述第二设备的MAC地址;所述发送单元还用于,在所述接收单元接收所述至少一个第二设备发送的服务发现应答后,向反向地址转换协议服务器发送查询请求;所述查询请求包括所述第二设备的Mac地址;所述查询请求用于查询所述第二设备的IP地址信息;所述接收单元还用于,接收反向地址转换协议服务器发送的查询应答;所述查询应答包括所述第二设备的IP地址信息。具体地,所述反向地址转换协议服务器存储有所述第二设备的Mac地址、IP地址以及两者之间的映射关系。所述第一设备可获取服务发现应答所包括的第二设备的Mac地址。所述第一设备获取所述第二设备的Mac地址后,向所述反向地址转换协议服务器发送查询请求,获取所述第二设备的IP地址。在一种可能的实现方式中,所述反向地址转换协议服务器与接入点可为同一设备,所述第一设备也可向所述接入点发送查询请求,获取所述第二设备的IP地址信息。
请参阅图8,图8为本发明实施例提供的一种电子设备的结构示意图。本发明实施例提供的电子设备包括发送器801和接收器802,所述发送器801和所述接收器802连接。具体地,
所述发送器801,用于经接入点向与所述接入点连接的至少一个第二设备发送服务发现请求;所述服务发现请求用于向所述至少一个第二设备查询所述第一设备请求查询的服务。具体地,所述第一设备与所述接入点连接,所述接入点与至少两个设备连接。除所述第一设备外,所述接入点至少与至少一个第二设备连接。可选地,发送器801发送的服务发现请求可以为Probe Request。可选地,发送器801发送的服务发现请求可以为ServiceDiscovery Request。可选地,发送器801可经由接入点发送两个服务发现请求,其中,第一服务发现请求可以为Probe Request,第二服务发现请求可以为Service DiscoveryRequest。
所述接收器802,用于接收所述至少一个第二设备发送的服务发现应答,所述服务发现应答为所述至少一个第二设备对所述服务发现请求的响应。所述第二设备接收所述接入点发送的服务发现请求后,解析所述服务发现请求,在所述第二设备支持所述第一设备请求查询的服务时,所述第二设备生成服务发现应答。可选地,所述服务发现应答可仅包括所述第二设备支持该服务的信息,不涉及服务本身的信息,例如服务的类型、服务的具体内容;可选地,所述服务发现应答可包括所述至少一个第二设备支持的所述第一设备请求查询的服务,其不仅包括第二设备支持该服务的信息,还包括服务本身的信息,例如服务的类型、服务的具体内容。所述接收器802接收所述服务发现应答,获取服务应答包括的所述服务的具体信息。可选地,在所述接收器802发送的服务发现请求为Probe Request时,所述接收器802接收的服务发现应答为Probe Response,所述Probe Response为所述第二设备对所述第一设备发送的Probe Request的响应。可选地,在所述发送单元701发送的服务发现请求为Service Discovery Request时,所述服务发现应答为Service DiscoveryResponse。所述Service Discovery Response为所述第二设备对所述第一设备发送的Service Discovery Request的响应。
在本发明实施例中,在多个电子设备均与接入点连接的场景中,不需要电子设备断开与接入点的连接即可实现多个电子设备之间服务发现消息的交互,提高了服务发现效率,继而提高了互通效率。
在本发明的一个实施例中,所述服务发现请求为数据帧格式;所述发送器具体用于,经接入点广播服务发现请求;其中,所述发送器向所述接入点发送的服务发现请求数据帧的帧头依次包括:所述接入点的地址;所述第一设备的地址;广播地址;所述发送器发送的经由接入点广播的服务发现请求数据帧的帧头依次包括:所述广播地址;所述接入点的地址;所述第一设备的地址。所述数据帧格式包括帧头和帧体,所述数据帧的帧头包括服务发现请求的地址信息。所述接入点接收所述发送单元发送的服务发现请求数据帧后,更改所述数据帧帧头的地址格式,将原先数据帧帧头所包括的地址信息(依次为:所述接入点的地址;所述第一设备的地址;广播地址)更改为接入点广播服务发现请求数据帧的帧头所包括的地址信息(依次为:所述广播地址;所述接入点的地址;所述第一设备的地址)。所述接入点广播帧头地址更改后的服务发现请求数据帧。
在本发明的一个实施例中,所述服务发现请求为数据帧格式;所述发送器具体用于,经接入点单播发送服务发现请求;所述发送器向所述接入点发送的服务发现请求数据帧的帧头依次包括:所述接入点的地址;所述第一设备的地址;所述第二设备的地址;所述发送器发送的经由接入点单播发送的服务发现请求数据帧的帧头依次包括:所述第二设备的地址;所述接入点的地址;所述第一设备的地址。所述数据帧格式包括帧头和帧体,所述数据帧的帧头包括服务发现请求的地址信息。所述接入点接收所述发送单元发送的服务发现请求数据帧后,更改所述数据帧帧头的地址格式,将原先数据帧帧头所包括的地址信息(依次为:所述接入点的地址;所述第一设备的地址;所述第二设备的地址)更改为接入点广播服务发现请求数据帧的帧头所包括的地址信息(依次为:所述第二设备的地址;所述接入点的地址;所述第一设备的地址)。所述接入点单播发送帧头地址更改后的服务发现请求数据帧。
在本发明的上述实施例中,所述发送器发送的服务发现请求数据帧的帧体部分包括:探测请求帧的帧体部分;或者,服务发现请求帧的帧体部分。具体地,所述服务发现请求数据帧包括帧头和帧体。所述探测请求帧和所述服务发现请求帧均为管理帧,所述管理帧同样包括帧头和帧体。所述探测请求帧为Probe Request,所述服务发现请求帧为servicediscovery Request。所述服务发现请求数据帧的帧体部分可包括所述探测请求帧的帧头和帧体,也可以只包括所述探测请求帧的帧体部分;同样,所述服务发现请求数据帧的帧体部分可包括所述服务发现请求帧的帧头和帧体,也可以只包括所述服务发现请求帧的帧体部分。
在本发明的上述实施例中,所述接收器具体用于,接收所述至少一个第二设备经由所述接入点发送的服务发现应答,所述服务发现应答为数据帧格式。具体地,第二设备接收所述服务发现请求后,可响应所述服务发现请求,向第一设备发送服务发现应答。所述第二设备可经由接入点向所述第一设备发送服务发现应答,所述服务发现应答为数据帧格式,其帧头格式可参照上述规则。所述第二设备也可不经接入点直接向第一设备发送服务发现应答,此时所述服务发现应答为管理帧。
在本发明的上述实施例中,所述服务发现应答包括所述第二设备的IP地址信息。
在本发明的上述实施例中,所述服务发现应答包括所述第二设备的MAC地址;所述发送器还用于,在所述接收器接收所述至少一个第二设备发送的服务发现应答后,向反向地址转换协议服务器发送查询请求;所述查询请求包括所述第二设备的Mac地址;所述查询请求用于查询所述第二设备的IP地址信息;所述接收器还用于,接收反向地址转换协议服务器发送的查询应答;所述查询应答包括所述第二设备的IP地址信息。具体地,所述反向地址转换协议服务器存储有所述第二设备的Mac地址、IP地址以及两者之间的映射关系。所述第一设备可获取服务发现应答所包括的第二设备的Mac地址。所述第一设备获取所述第二设备的Mac地址后,向所述反向地址转换协议服务器发送查询请求,获取所述第二设备的IP地址。在一种可能的实现方式中,所述反向地址转换协议服务器与接入点可为同一设备,所述第一设备也可向所述接入点发送查询请求,获取所述第二设备的IP地址信息。
需要说明的是,在本发明的上述实施例中,前述相同或相应的技术特征可相互借鉴。本发明实施例可包括上述技术特征的各种组合。
综上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照上述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对上述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。