CN114679732A - Wi-Fi直连下数据传输的方法和电子设备 - Google Patents
Wi-Fi直连下数据传输的方法和电子设备 Download PDFInfo
- Publication number
- CN114679732A CN114679732A CN202110745464.5A CN202110745464A CN114679732A CN 114679732 A CN114679732 A CN 114679732A CN 202110745464 A CN202110745464 A CN 202110745464A CN 114679732 A CN114679732 A CN 114679732A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- connection
- direct
- mobile phone
- group
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 282
- 230000005540 biological transmission Effects 0.000 title claims abstract description 163
- 238000004891 communication Methods 0.000 claims description 274
- 230000004044 response Effects 0.000 claims description 208
- 238000003860 storage Methods 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 26
- 238000007726 management method Methods 0.000 description 105
- 238000012545 processing Methods 0.000 description 35
- 238000005266 casting Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 16
- 230000008859 change Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000005304 joining Methods 0.000 description 7
- 230000006855 networking Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/023—Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
Abstract
本申请提供了一种Wi‑Fi直连下数据传输的方法和电子设备,该方法应用于包括第一电子设备和第二电子设备的系统中,第一电子设备为Wi‑Fi直连群组内的GC设备,第二电子设备为Wi‑Fi直连群组内的GO设备;该方法包括:第一电子设备和第二电子设备通过第一Wi‑Fi直连链路传输第一业务的数据;第一电子设备接收用户的第一操作,第一操作用于向该第二电子设备发送第二业务的数据,第二业务与该第一业务不同;第一电子设备通过第一Wi‑Fi直连链路向第二电子设备发送第二业务的数据。本申请提供的方法,可复用GC设备之间和GO设备之间Wi‑Fi P2P链路,使得该Wi‑Fi P2P连接可以同时传输多种不同的业务,提高了用户体验。
Description
本申请要求于2020年12月24日提交国家知识产权局、申请号为202011555743.7、申请名称为“Wi-Fi直连下数据传输的方法和电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信领域,更为具体的,涉及一种Wi-Fi直连下数据传输的方法和电子设备。
背景技术
Wi-Fi直连(wireless fidelity peer-to-peer,Wi-Fi P2P)技术是无线保真技术(wireless-fidelity,)联盟推出的“Wi-Fi DIRECT”标准协议下的一项重要技术,Wi-Fi P2P可以支持两个Wi-Fi设备在没有Wi-Fi热点介入的情况下,直接与对方设备进行连接和通信。
一个完整的Wi-Fi P2P业务包括了Wi-Fi P2P设备发现、Wi-Fi P2P设备连接、Wi-Fi P2P设备业务数据传输这三个阶段。在Wi-Fi P2P设备连接建立后形成一个P2P群组,在P2P群组内,设备存在P2P群组管理者(group owner,GO)和P2P群组客户端(group client,GC)两种角色的区分。根据目前的协议规范以及设备硬件上的限制,目前的Wi-Fi P2P技术不支持同一个设备上的多种P2P角色。因此,造成同一个P2P群组内的GC设备之间、以及GC设备与群组外的设备之间无法建立Wi-Fi P2P设备。并且,目前Android以及WINDOWS系统上的Wi-Fi P2P应用(或者也可以称为业务)都是独立管理Wi-Fi P2P链路。一个设备上的Wi-FiP2P链路由各个应用独自管理和协商,由于资源限制Wi-Fi P2P底层链路只会产生一个,一个业务将Wi-Fi P2P资源占用,当该设备上的另外一个Wi-Fi P2P相关业务也需要使用该Wi-Fi P2P链路时,不能保证另外一个Wi-Fi P2P相关业务可以传输完成。例如,对于两个设备之间存在为用户的第一业务建立的Wi-Fi P2P链路,如果这两个设备之间用户的第二应用也需要利用该Wi-Fi P2P链路,无论第二业务利用该Wi-Fi P2P链路是否传输完成,在第一业务传输完成后,就会拆除该Wi-Fi P2P链路,因此,不能保证第二业务可以传输完成。这就会导致多Wi-Fi P2P业务冲突问题,严重影响了用户体验。
发明内容
本申请提供了一种Wi-Fi直连下数据传输的方法和电子设备,可以使得在P2P群组内的GC设备之间,或者P2P群组内的GC与P2P群组外的空闲设备之间可以基于P2P群组内内的Wi-Fi P2P连接建立传输通道并进行业务数据的传输,使得能够加入Wi-Fi P2P群组内的设备之间都可以发起连接和通信。并且,通过对电子设备上使用Wi-Fi P2P能力的业务的个数进行统计,在使用Wi-Fi P2P能力的业务的个数为0时才拆除Wi-Fi P2P链路以及Wi-FiP2P群组,解决了多个Wi-Fi P2P业务之间的冲突问题,提高了用户体验。
第一方面,提供了一种Wi-Fi直连下数据传输的方法,该方法应用于包括第一电子设备和第二电子设备的系统中,该第一电子设备为Wi-Fi直连群组内的GC设备,该第二电子设备为该Wi-Fi直连群组内的GO设备;该方法包括:该第一电子设备和该第二电子设备通过第一Wi-Fi直连链路传输第一业务的数据;该第一电子设备接收用户的第一操作,该第一操作用于向该第二电子设备发送第二业务的数据,该第二业务与该第一业务不同;第一电子设备通过该第一Wi-Fi直连链路向该第二电子设备发送该第二业务的数据。
第一方面提供的Wi-Fi直连下数据传输的方法,通过对第二电子设备(GO设备)和第一电子设备(GC设备)的Wi-Fi P2P连接进行复用,使得该Wi-Fi P2P连接可以同时传输多种不同的业务,实现了第一电子设备和第二电子设备之间的多个Wi-Fi P2P业务同时共存,提高了用户体验。不同的业务之间不会相互影响,提高了用户体验。
示例性的,第一电子设备为手机B、第二电子设备为大屏设备,第一业务可以为第一电子设备向第二电子设备的投屏业务。第二业务可以为第一电子设备向第二电子设备的文件分享业务。
根据第一方面,在第一方面一种可能的实现方式中,在该第一电子设备接收用户的第一操作之后,该方法还包括:该第一电子设备通过第一连接,向该第二电子设备发送Wi-Fi直连请求,该Wi-Fi直连请求包括:该第一电子设备的信息,该Wi-Fi直连请求用于请求利用该第一Wi-Fi直连链路向该第二电子设备发送该第二业务的数据;该第二电子设备根据该Wi-Fi直连请求,将该第二电子设备维护的引用计数加一,该第二电子设备维护的引用计数用于表示同时利用该第二电子设备Wi-Fi P2P能力的业务个数;该第二电子设备向第一电子设备发送Wi-Fi直连请求响应信息,该Wi-Fi直连请求响应信息包括:该Wi-Fi直连群组的群组信息以及该第二电子设备的IP地址;该第一电子设备根据该Wi-Fi直连请求响应信息,将该第一电子设备维护的引用计数加一,该第一电子设备维护的引用计数用于表示同时利用该第二电子设备Wi-Fi P2P能力的业务个数。在该实现方式中,通过对第二电子设备(GO设备)和第一电子设备(GC设备)的Wi-Fi P2P能力进行复用,这样第一电子设备和第二电子设备就可以感知到当前自身承载了多个业务,其中的任意一个业务断开时,都不会真正地造成P2P群组的移除以及Wi-Fi P2P连接的断开,在该多个业务都完成后,才会进行GO设备的移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以完整的传输完成,实现了第一电子设备和第二电子设备之间的多个Wi-Fi P2P业务同时共存,提高了用户体验。不同的业务之间不会相互影响,提高了用户体验。
根据第一方面,或者以上第一方面的任意一种实现方式,在该第一电子设备向该第二电子设备发送Wi-Fi直连请求之前,该方法还包括:该第一电子设备和该第二电子设备建立该第一连接,该第一连接包括:BLE连接、蓝牙连接、Wi-Fi连接中的任意一种。
根据第一方面,或者以上第一方面的任意一种实现方式,在该第二电子设备将该第二电子设备维护的引用计数加一之前,该方法还包括:该第二电子设备根据该Wi-Fi直连请求,确定该第二电子设备和该第一电子设备之间已经存在该第一Wi-Fi直连链路。在该实现方式中,可以保证第二业务数据利用该第一Wi-Fi直连链路正常传输。
根据第一方面,或者以上第一方面的任意一种实现方式,在该第一电子设备将该第一电子设备维护的引用计数加一之前,该方法还包括:该第一电子设备确定该第二电子设备和该第一电子设备之间已经存在该第一Wi-Fi直连链路。在该实现方式中,可以保证第二业务数据利用该第一Wi-Fi直连链路正常传输。
根据第一方面,或者以上第一方面的任意一种实现方式,在该第二业务的数据传输完成后或者该第一业务的数据传输完成后,该方法还包括:该第一电子设备将该第一电子设备维护的引用计数减一;该第二电子设备将该第二电子设备维护的引用计数减一。
根据第一方面,或者以上第一方面的任意一种实现方式,在该第二电子设备维护的引用计数为0时,该第三电子设备拆除该Wi-Fi直连群组;或者,在该第一电子设备维护的引用计数为0时,该第一电子设备断开与该第二电子设备之间的Wi-Fi直连链路。在该实现方式中,通过对第二电子设备(GO设备)和第一电子设备(GC设备)的Wi-Fi P2P能力进行复用,这样第一电子设备和第二电子设备就可以感知到当前自身承载了多个业务,其中的任意一个业务断开时,都不会真正地造成P2P群组的移除以及Wi-Fi P2P连接的断开,在该多个业务都完成后,才会进行GO设备的移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以完整的传输完成。
根据第一方面,或者以上第一方面的任意一种实现方式,该第一电子设备的信息包括:该第一电子设备的标识、该第一电子设备当前的Wi-Fi直连连接状态、该第一电子设备的Wi-Fi直连端口的MAC地址、该第一电子设备支持的信道列表、该第一电子设备连接的Wi-Fi热点的频率、该第一电子设备是否支持宽频中的至少一种。
根据第一方面,或者以上第一方面的任意一种实现方式,该系统还包括第三电子设备,该第三电子设备为该Wi-Fi直连群组外的空闲设备,在该第二业务的数据传输完成之后,该方法还包括:该第三电子设备接收用户的第二操作,该第二操作用于向该第一电子设备发送第三业务的数据;该第三电子设备与该第二电子设备建立第二Wi-Fi直连链路;该第三电子设备通过该第二Wi-Fi直连链路向该第二电子设备发送该第三业务的数据;响应于接收该第三业务的数据,该第二电子设备通过该第一Wi-Fi直连链路向该第一电子设备发送该第三业务的数据。在该实现方式中,在P2P群组外的第三电子设备(即空闲设备)向P2P群组内的第一电子设备(即GC设备)传输业务数据时,可以建立起P2P群组内的第一电子设备(即GC设备)和P2P群组外的第三电子设备(即空闲设备)之间的传输通道,从而实现通过第二Wi-Fi直连链路和第一Wi-Fi直连链路向第一电子设备传输业务数据,从而实现二者之间基于传输通道的数据传输。
示例性的,第一电子设备(即GC设备)和P2P群组外的第三电子设备(即空闲设备)之间的传输通道为socket传输通道。
根据第一方面,或者以上第一方面的任意一种实现方式,在该第三电子设备与该第二电子设备建立该第二Wi-Fi直连链路之前,该方法还包括:该第一电子设备向该第二电子设备发送第三连接请求,该第三连接请求用于请求将该第三电子设备加入到该Wi-Fi直连群组中,该第三连接请求包括该第三电子设备的信息;该第二电子设备根据该第三连接请求,将该第二电子设备维护的引用计数加一,该第三电子设备维护的引用计数用于表示同时利用该第三电子设备Wi-Fi P2P能力的业务个数;该第二电子设备向该第一电子设备发送响应于该第三连接请求的第三响应信息,该第三响应信息用于指示将该第三电子设备加入到该Wi-Fi直连群组,该第三响应信息包括:该第二电子设备为该第三电子设备分配的IP地址、该Wi-Fi直连群组的群组信息、该第三电子设备的MAC地址中;该第一电子设备根据该第三响应信息,将该第一电子设备维护的引用计数加一,该第一电子设备维护的引用计数用于表示同时利用该第二电子设备Wi-Fi P2P能力的业务个数。
根据第一方面,或者以上第一方面的任意一种实现方式,在该第一电子设备向该第二电子设备发送该第三连接请求之前,该方法还包括:该第三电子设备和该第一电子设备建立第二连接,该第二连接包括:蓝牙连接、Wi-Fi连接中的任意一种。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:该第三电子设备通过该第二连接向该第一电子设备发送第四连接请求,该第四连接请求包括该第三电子设备的信息;该第一电子设备通过该第二连接,向该第三电子设备发送第四连接请求响应信息,该第四连接请求响应信息包括:该第二电子设备为该第三电子设备分配的IP地址、该Wi-Fi直连群组的群组信息、该第二电子设备的MAC地址、该第一电子设备的IP地址以及端口号;响应于接收该第四连接请求响应信息,该第三电子设备根据该Wi-Fi直连群组的群组信息、该第二电子设备的MAC地址,与该第二电子设备建立该第二Wi-Fi直连链路。在该实现方式中,第三电子设备可以根据该P2P群组信息以及第二电子设备的MAC地址,加入到P2P群组,从而便于和第一电子设备建立socket传输通道。
根据第一方面,或者以上第一方面的任意一种实现方式,在该第二电子设备将该第一电子设备维护的引用计数加一之前,该方法还包括:该第二电子设备根据该第三连接请求,确定该第三电子设备为可信设备、以及确定该第二电子设备和该第一电子设备之间存在Wi-Fi直连链路;在该第一电子设备将该第一电子设备维护的引用计数加一之前,该方法还包括:该第一电子设备根据该第三响应信息,确定该第一电子设备和该第二电子设备之间存在Wi-Fi直连链路。在该实现方式中,可以保证第三业务数据的正常传输。
根据第一方面,或者以上第一方面的任意一种实现方式,在该第三业务的数据传输完成后,该方法还包括:该第一电子设备将该第一电子设备维护的引用计数减一;该第二电子设备将该第二电子设备维护的引用计数减一。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:
在该第二电子设备维护的引用计数为0时,该第二电子设备拆除该Wi-Fi直连群组;或者,在该第一电子设备维护的引用计数为0时,该第一电子设备断开与该第二电子设备之间的Wi-Fi直连链路。在该实现方式中,对P2P群组内的第一电子设备和第二电子设备(即GO设备)设备的Wi-Fi P2P能力进行复用,第一电子设备和第二电子设备可以感知到当前自身的Wi-Fi P2P能力承载了多个业务,在多个业务都完成后,才会进行P2P群组的移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以传输完成,不同的业务之间不会相互影响。在进行数据传输时,通过P2P群组内的第二电子设备作为中转。进而实现基于Wi-Fi P2P连接的业务的传输,解决了现有技术中P2P群组内的GC设备和P2P群组外的空闲设备无法传输数据的问题,提高了用户体验。
根据第一方面,或者以上第一方面的任意一种实现方式,在该第三电子设备通过该第二Wi-Fi直连链路向该第二电子设备发送该第三业务的数据之前,该方法还包括:该第三电子设备通过第二连接,向该第一电子设备发送第五连接请求,该第五连接请求包括:该第三电子设备的信息以及该第三电子设备在该Wi-Fi直连群组内连接的GO设备的标识;该第一电子设备根据该第五连接请求,将该第一电子设备维护的引用计数加一,该第一电子设备维护的引用计数用于表示同时利用该第二电子设备Wi-Fi P2P能力的业务个数;该第一电子设备向第二电子设备发送第六连接请求,该第六连接请求包括:该第三电子设备的信息以及该第三电子设备在该Wi-Fi直连群组内连接的GO设备的标识;该第二电子设备根据该第六连接请求,将该第二电子设备维护的引用计数加一,该第二电子设备维护的引用计数用于表示同时利用该第二电子设备Wi-Fi P2P能力的业务个数;该第二电子设备向该第一电子设备发送响应于该第六连接请求的第六响应信息,该第六响应信息包括:该Wi-Fi直连群组的群组信息、该第一电子设备和该第三电子设备分别与该第二电子设备之间存在Wi-Fi P2P连接的指示信息中的至少一个;该第一电子设备通过该第二连接,向该第三电子设备发送响应于该第五连接的第五响应信息,该第五响应信息:该第一电子设备的IP地址和端口号、该第一电子设备在该Wi-Fi直连群组内连接的GO设备的标识;该第三电子设备根据该第五响应信息,将该第三电子设备维护的引用计数加一,该第三电子设备维护的引用计数用于表示同时利用该第三电子设备Wi-Fi P2P能力的业务个数。在该实现方式中,对第一电子设备、第二电子设备以及第三电子设备的Wi-Fi P2P能力进行复用,第一电子设备、第二电子设备以及第三电子设备可以感知到当前自身的Wi-Fi P2P能力承载了多个业务,在多个业务都完成后,才会进行P2P群组移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以正常的传输,不同的业务之间不会相互影响。在进行数据传输时,通过P2P群组内的第二电子设备作为中转。进而实现基于Wi-Fi P2P连接的业务的传输,解决了现有技术中P2P群组内的两个GC设备之间无法传输数据的问题,提高了用户体验。
根据第一方面,或者以上第一方面的任意一种实现方式,在该第三电子设备通过该第二Wi-Fi直连链路向该第二电子设备发送该第三业务的数据之前,该方法还包括:该第三电子设备向该第二电子设备发送第七连接请求,该第七连接请求包括该第一电子设备的信息;该第二电子设备根据该第七连接请求,将该第二电子设备维护的引用计数加一,该第二电子设备维护的引用计数用于表示同时利用该第二电子设备Wi-Fi P2P能力的业务个数;该第二电子设备向该第三电子设备发送响应于该第七连接请求的第七响应信息,该第七响应信息包括:该Wi-Fi直连群组的群组信息、该第一电子设备和该第三电子设备分别与该第二电子设备之间存在Wi-Fi P2P连接的指示信息中的至少一个;该第三电子设备根据该第七响应信息,将该第三电子设备维护的引用计数加一,该第三电子设备维护的引用计数用于表示同时利用该第三电子设备Wi-Fi P2P能力的业务个数;该第三电子设备通过第二连接向该第一电子设备发送第八连接请求,该第八连接请求包括:该Wi-Fi直连群组的群组信息、该第三电子设备在该Wi-Fi直连群组内连接的GO设备的标识;该第一电子设备根据该第八连接请求,将该第一电子设备维护的引用计数加一,该第一电子设备维护的引用计数用于表示同时利用该第一电子设备Wi-Fi P2P能力的业务个数。在该实现方式中,对第一电子设备、第二电子设备以及第三电子设备的Wi-Fi P2P能力进行复用,第一电子设备、第二电子设备以及第三电子设备可以感知到当前自身的Wi-Fi P2P能力承载了多个业务,在多个业务都完成后,才会进行P2P群组移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以正常的传输,不同的业务之间不会相互影响。在进行数据传输时,通过P2P群组内的第二电子设备作为中转。进而实现基于Wi-Fi P2P连接的业务的传输,解决了现有技术中P2P群组内的两个GC设备之间无法传输数据的问题,提高了用户体验。
根据第一方面,或者以上第一方面的任意一种实现方式,在该第二电子设备将该第二电子设备维护的引用计数加一之前,该方法还包括:该第二电子设备根据该第六连接请求,确定该第三电子设备为可信设备、以及确定该第三电子设备和该第一电子设备分别与该第二电子设备之间存在Wi-Fi P2P连接;或者,该第二电子设备根据该第七连接请求,确定该第一电子设备为可信设备、以及确定该第一电子设备和该第三电子设备分别与该第二电子设备之间存在Wi-Fi P2P连接。在该实现方式中,可以保证第三业务数据的正常传输。
根据第一方面,或者以上第一方面的任意一种实现方式,在该第三电子设备将该第三电子设备维护的引用计数加一之前,该方法还包括:该第三电子设备根据该第五响应信息,确定该第三电子设备在该Wi-Fi直连群组内连接的GO设备的标识和该第一电子设备在该Wi-Fi直连群组内连接的GO设备的标识相同;或者,该第三电子设备根据该第七响应信息,确定该第一电子设备在该Wi-Fi直连群组内连接的GO设备的标识和该第三电子设备在该Wi-Fi直连群组内连接的GO设备的标识相同。在该实现方式中,可以保证第三业务数据的正常传输。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:在该第一电子设备将该第一电子设备维护的引用计数加一之前,该方法还包括:该第一电子设备根据该第六响应信息或者该第八连接请求,确定该第一电子设备在该Wi-Fi直连群组内连接的GO设备的标识和该第三电子设备在该Wi-Fi直连群组内连接的GO设备的标识相同。
根据第一方面,或者以上第一方面的任意一种实现方式,在该第三业务的数据传输完成后,该方法还包括:该第一电子设备将该第一电子设备维护的引用计数减一;该第二电子设备将该第二电子设备维护的引用计数减一;该第三电子设备将该第三电子设备维护的引用计数减一。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:在该第二电子设备维护的引用计数为0时,该第二电子设备拆除该Wi-Fi直连群组;或者,在该第一电子设备维护的引用计数为0时,该第一电子设备断开与该第二电子设备之间的该第一Wi-Fi直连链路;或者,在该第三电子设备维护的引用计数为0时,该第三电子设备断开与该第二电子设备之间的该第二Wi-Fi直连链路。在该实现方式中,对第一电子设备、第二电子设备以及第三电子设备的Wi-Fi P2P能力进行复用,第一电子设备、第二电子设备以及第三电子设备可以感知到当前自身的Wi-Fi P2P能力承载了多个业务,在多个业务都完成后,才会进行P2P群组移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以正常的传输,不同的业务之间不会相互影响。
根据第一方面,或者以上第一方面的任意一种实现方式,该第三电子设备的信息包括:该第三电子设备的标识、该第三电子设备当前的Wi-Fi直连连接状态、该第三电子设备的Wi-Fi直连端口的MAC地址、该第三电子设备支持的信道列表、该第三电子设备连接的Wi-Fi热点的频率、该第三电子设备是否支持宽频中的至少一种。
根据第一方面,或者以上第一方面的任意一种实现方式,该系统还包括第四电子设备,该第四电子设备为该Wi-Fi直连群组外的空闲设备,该方法还包括:该第四电子设备接收用户的第三操作,该第三操作用于向该第二电子设备发送第四业务的数据;该第四电子设备与该第二电子设备建立第三Wi-Fi直连链路;该第四电子设备通过该第三Wi-Fi直连链路,向该第二电子设备发送该第四业务的数据。
根据第一方面,或者以上第一方面的任意一种实现方式,在该第四电子设备与该第二电子设备建立第三Wi-Fi直连链路之前,该方法还包括:该第四电子设备通过第三连接,向该第二电子设备第九连接请求,该第九连接请求用于请求将该第四电子设备加入到该Wi-Fi直连群组中,该第九连接请求包括该第四电子设备的信息;该第二电子设备根据该第九连接请求,将该第二电子设备维护的引用计数加一,该第二电子设备维护的引用计数用于表示同时利用该第二电子设备Wi-Fi P2P能力的业务个数;该第二电子设备通过该第三连接,向该第四电子设备发送响应于该第九连接请求的第九响应信息,该第九响应信息用于指示将该第四电子设备加入到该Wi-Fi直连群组,该第九响应信息包括:该第二电子设备为该第四电子设备分配的IP地址、该Wi-Fi直连群组的群组信息、该第二电子设备的MAC地址;该第四电子设备根据该Wi-Fi直连群组的群组信息、该第二电子设备的MAC地址,与该第二电子设备建立该第三Wi-Fi直连链路。在该实现方式中,第四电子设备可以根据该P2P群组信息以及第二电子设备的MAC地址,加入到P2P群组,与第二电子设备建立Wi-Fi P2P连接。并且,通过对第二电子设备(GO设备)的Wi-Fi P2P能力进行复用,这样第二电子设备就可以感知到当前自身承载了多个业务,其中的任意一个业务断开时,都不会真正地造成P2P群组的移除以及Wi-Fi P2P连接的断开,在多个业务都完成后,才会进行GO设备的移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以完整的传输完成。
根据第一方面,或者以上第一方面的任意一种实现方式,在该第四电子设备通过第三连接,向该第二电子设备第九连接请求之前,该方法还包括:该第四电子设备和该第二电子设备建立该第三连接,该第一连接包括:蓝牙连接、Wi-Fi连接中的任意一种。
根据第一方面,或者以上第一方面的任意一种实现方式,在该第二电子设备将该第二电子设备维护的引用计数加一之前,该方法还包括:该第二电子设备根据该第九连接请求,确定该第四电子设备为可信设备、以及确定该第二电子设备和该第四电子设备之间不存在Wi-Fi直连链路。在该实现方式中,可以保证第四电子设备顺利的和第二电子设备建立Wi-Fi P2P连接,可以保证第四业务数据的正常传输。
根据第一方面,或者以上第一方面的任意一种实现方式,在该第四业务的数据传输完成后,该方法还包括:该第二电子设备将该第二电子设备维护的引用计数减一。
根据第一方面,或者以上第一方面的任意一种实现方式,该方法还包括:在该第二电子设备维护的引用计数为0时,该第二电子设备拆除该Wi-Fi直连群组。在该实现方式中,通过对第二电子设备(GO设备)的Wi-Fi P2P能力进行复用,其中的任意一个业务断开时,都不会真正地造成P2P群组的移除以及Wi-Fi P2P连接的断开,在多个业务都完成后,才会进行GO设备的移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以完整的传输完成。
根据第一方面,或者以上第一方面的任意一种实现方式,其特征在于,该第四电子设备的信息包括:该第四电子设备的标识、该第四电子设备当前的Wi-Fi直连连接状态、该第四电子设备的Wi-Fi直连端口的MAC地址、该第四电子设备支持的信道列表、该第四电子设备连接的Wi-Fi热点的频率、该第四电子设备是否支持宽频中的至少一种。
第二方面,提供了一种Wi-Fi直连下数据传输的方法,该方法包括:第二电子设备和第二电子设备通过第一Wi-Fi直连链路传输第一业务的数据;该第二电子设备通过该第一Wi-Fi直连链路接收该第一电子设备发送的第二业务的数据,该第一电子设备为Wi-Fi直连群组内的GC设备,该第二电子设备为该Wi-Fi直连群组内的GO设备,该第二业务与该第一业务不同。
第二方面提供的Wi-Fi直连下数据传输的方法,通过对第二电子设备(GO设备)和第一电子设备(GC设备)的Wi-Fi P2P连接进行复用,使得该Wi-Fi P2P连接可以同时传输多种不同的业务,实现了第一电子设备和第二电子设备之间的多个Wi-Fi P2P业务同时共存,提高了用户体验。不同的业务之间不会相互影响,提高了用户体验。
根据第二方面,在第二方面一种可能的实现方式中,在该第二电子设备通过该第一Wi-Fi直连链路接收该第一电子设备发送的第二业务的数据之前,该方法包括:该第二电子设备通过第一连接,接收该第一电子设备发送的送Wi-Fi直连请求,该Wi-Fi直连请求包括:该第一电子设备的信息,该Wi-Fi直连请求用于请求利用该第一Wi-Fi直连链路向该第二电子设备发送第二业务的数据;该第二电子设备根据该Wi-Fi直连请求,将该第二电子设备维护的引用计数加一,该第二电子设备维护的引用计数用于表示同时利用该第二电子设备Wi-Fi P2P能力的业务个数;该第二电子设备向第一电子设备发送Wi-Fi直连请求响应信息,该Wi-Fi直连请求响应信息包括:该Wi-Fi直连群组的群组信息以及该第二电子设备的IP地址。在该实现方式中,通过对第二电子设备(GO设备)的Wi-Fi P2P能力进行复用,这样第二电子设备就可以感知到当前自身承载了多个业务,其中的任意一个业务断开时,都不会真正地造成P2P群组的移除以及Wi-Fi P2P连接的断开,在该多个业务都完成后,才会进行GO设备的移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以完整的传输完成,实现了第一电子设备和第二电子设备之间的多个Wi-Fi P2P业务同时共存,提高了用户体验。不同的业务之间不会相互影响,提高了用户体验。
根据第二方面,或者以上第二方面的任意一种实现方式,在该第二电子设备接收该第一电子设备发送的送Wi-Fi直连请求之前,该方法还包括:该第二电子设备和该第一电子设备建立该第一连接,该第一连接包括:蓝牙连接、Wi-Fi连接中的任意一种。
根据第二方面,或者以上第二方面的任意一种实现方式,在该第二电子设备将该第二电子设备维护的引用计数加一之前,该方法还包括:该第二电子设备根据该Wi-Fi直连请求,确定该第二电子设备和该第一电子设备之间已经存在该第一Wi-Fi直连链路。在该实现方式中,可以保证第二业务数据利用该第一Wi-Fi直连链路正常传输。
根据第二方面,或者以上第二方面的任意一种实现方式,在该第二业务的数据传输完成后或者该第一业务的数据传输完成后,该方法还包括:该第二电子设备将该第二电子设备维护的引用计数减一。
根据第二方面,或者以上第二方面的任意一种实现方式,该方法还包括:在该第二电子设备维护的引用计数为0时,该第三电子设备拆除该Wi-Fi直连群组。在该实现方式中,通过对第二电子设备(GO设备)的Wi-Fi P2P能力进行复用,这样第一电子设备和第二电子设备就可以感知到当前自身承载了多个业务,其中的任意一个业务断开时,都不会真正地造成P2P群组的移除以及Wi-Fi P2P连接的断开,在该多个业务都完成后,才会进行GO设备的移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以完整的传输完成。
根据第二方面,或者以上第二方面的任意一种实现方式,该第一电子设备的信息包括:该第一电子设备的标识、该第一电子设备当前的Wi-Fi直连连接状态、该第一电子设备的Wi-Fi直连端口的MAC地址、该第一电子设备支持的信道列表、该第一电子设备连接的Wi-Fi热点的频率、该第一电子设备是否支持宽频中的至少一种。
根据第二方面,或者以上第二方面的任意一种实现方式,在该第二业务的数据传输完成之后,该方法还包括:该第二电子设备与第三电子设备与建立第二Wi-Fi直连链路,该第三电子设备为该Wi-Fi直连群组外的空闲设备;该第二电子通过该第二Wi-Fi直连链路,接收该第三电子设备发送的第三业务的数据;该第二电子设备通过该第一Wi-Fi直连链路,向该第一电子设备发送该第三业务的数据。在该实现方式中,在P2P群组外的第三电子设备(即空闲设备)向P2P群组内的第一电子设备(即GC设备)传输业务数据时,第二电子可以协助建立起P2P群组内的第一电子设备(即GC设备)和P2P群组外的第三电子设备(即空闲设备)之间的传输通道,从而实现通过第二Wi-Fi直连链路和第一Wi-Fi直连链路向第一电子设备传输业务数据,实现二者之间基于传输通道的数据传输。
根据第二方面,或者以上第二方面的任意一种实现方式,在该第二电子设备与第三电子设备与建立第二Wi-Fi直连链路之前,该方法还包括:该第二电子设备接收该第一电子设备发送第三连接请求,该第三连接请求用于请求将该第三电子设备加入到该Wi-Fi直连群组中,该第三连接请求包括该第三电子设备的信息;该第二电子设备根据该第三连接请求,将该第二电子设备维护的引用计数加一,该第三电子设备维护的引用计数用于表示同时利用该第三电子设备Wi-Fi P2P能力的业务个数;该第二电子设备向该第一电子设备发送响应于该第三连接请求的第三响应信息,该第三响应信息用于指示将该第三电子设备加入到该Wi-Fi直连群组,该第三响应信息包括:该第二电子设备为该第三电子设备分配的IP地址、该Wi-Fi直连群组的群组信息、该第三电子设备的MAC地址中。
根据第二方面,或者以上第二方面的任意一种实现方式,在该第二电子设备将该第三电子设备维护的引用计数加一之前,该方法还包括:该第二电子设备根据该第三连接请求,确定该第三电子设备为可信设备、以及确定该第二电子设备和该第一电子设备之间存在Wi-Fi直连链路。在该实现方式中,可以保证第三业务数据的正常传输。
根据第二方面,或者以上第二方面的任意一种实现方式,在该第三业务的数据传输完成后,该方法还包括:该第二电子设备将该第二电子设备维护的引用计数减一。
根据第二方面,或者以上第二方面的任意一种实现方式,该方法还包括:在该第二电子设备维护的引用计数为0时,该第二电子设备拆除该Wi-Fi直连群组。在该实现方式中,对P2P群组内的第二电子设备(即GO设备)设备的Wi-Fi P2P能力进行复用,第二电子设备可以感知到当前自身的Wi-Fi P2P能力承载了多个业务,在多个业务都完成后,才会进行P2P群组的移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以传输完成,不同的业务之间不会相互影响。在进行数据传输时,通过P2P群组内的第二电子设备作为中转。进而实现基于Wi-Fi P2P连接的业务的传输,解决了现有技术中P2P群组内的GC设备和P2P群组外的空闲设备无法传输数据的问题,提高了用户体验。
根据第二方面,或者以上第二方面的任意一种实现方式,在该第二电子通过该第二Wi-Fi直连链路,接收该第三电子设备发送的第三业务的数据之前,该方法还包括:该第一电子设备向第二电子设备发送第六连接请求,该第六连接请求包括:该第三电子设备的信息以及该第三电子设备在该Wi-Fi直连群组内连接的GO设备的标识;该第二电子设备根据该第六连接请求,将该第二电子设备维护的引用计数加一,该第二电子设备维护的引用计数用于表示同时利用该第二电子设备Wi-Fi P2P能力的业务个数;该第二电子设备向该第一电子设备发送响应于该第六连接请求的第六响应信息,该第六响应信息包括:该Wi-Fi直连群组的群组信息、该第一电子设备和该第三电子设备分别与该第二电子设备之间存在Wi-Fi P2P连接的指示信息中的至少一个。在该实现方式中,对第二电子设备的Wi-Fi P2P能力进行复用,第二电子设备可以感知到当前自身的Wi-Fi P2P能力承载了多个业务,在多个业务都完成后,才会进行P2P群组移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以正常的传输,不同的业务之间不会相互影响。在进行数据传输时,通过P2P群组内的第二电子设备作为中转,进而实现基于Wi-Fi P2P连接的业务的传输,解决了现有技术中P2P群组内的两个GC设备之间无法传输数据的问题,提高了用户体验。
根据第二方面,或者以上第二方面的任意一种实现方式,在该第二电子通过该第二Wi-Fi直连链路,接收该第三电子设备发送的第三业务的数据之前,该方法还包括:该第二电子设备接收该第三电子设备发送的第七连接请求,该第七连接请求包括该第一电子设备的信息;该第二电子设备根据该第七连接请求,将该第二电子设备维护的引用计数加一,该第二电子设备维护的引用计数用于表示同时利用该第二电子设备Wi-Fi P2P能力的业务个数;该第二电子设备向该第三电子设备发送响应于该第七连接请求的第七响应信息,该第七响应信息包括:该Wi-Fi直连群组的群组信息、该第一电子设备和该第三电子设备分别与该第二电子设备之间存在Wi-Fi P2P连接的指示信息中的至少一个。
根据第二方面,或者以上第二方面的任意一种实现方式,在该第二电子设备将该第二电子设备维护的引用计数加一之前,该方法还包括:该第二电子设备根据该第六连接请求,确定该第三电子设备为可信设备、以及确定该第三电子设备和该第一电子设备分别与该第二电子设备之间存在Wi-Fi P2P连接;或者,该第二电子设备根据该第七连接请求,确定该第一电子设备为可信设备、以及确定该第一电子设备和该第三电子设备分别与该第二电子设备之间存在Wi-Fi P2P连接。
根据第二方面,或者以上第二方面的任意一种实现方式,在该第三业务的数据传输完成后,该方法还包括:该第二电子设备将该第二电子设备维护的引用计数减一。
根据第二方面,或者以上第二方面的任意一种实现方式,在该第二电子设备维护的引用计数为0时,该第二电子设备拆除该Wi-Fi直连群组。在该实现方式中,保证了不同的业务均可以正常的传输,不同的业务之间不会相互影响。
根据第二方面,或者以上第二方面的任意一种实现方式,该第三电子设备的信息包括:该第三电子设备的标识、该第三电子设备当前的Wi-Fi直连连接状态、该第三电子设备的Wi-Fi直连端口的MAC地址、该第三电子设备支持的信道列表、该第三电子设备连接的Wi-Fi热点的频率、该第三电子设备是否支持宽频中的至少一种。
根据第二方面,或者以上第二方面的任意一种实现方式,该方法还包括:该第二电子设备与该第四电子设备建立第三Wi-Fi直连链路,该第四电子设备为该Wi-Fi直连群组外的空闲设备;该第二电子设备通过该第三Wi-Fi直连链路,接收该第四电子设备发送的第四业务的数据。
根据第二方面,或者以上第二方面的任意一种实现方式,在该第二电子设备与该第四电子设备建立第三Wi-Fi直连链路之前,该方法还包括:该第二电子设备通过第三连接,接收该第四电子设备发送的第九连接请求,该第九连接请求用于请求将该第四电子设备加入到该Wi-Fi直连群组中,该第九连接请求包括该第四电子设备的信息;该第二电子设备根据该第九连接请求,将该第二电子设备维护的引用计数加一,该第二电子设备维护的引用计数用于表示同时利用该第二电子设备Wi-Fi P2P能力的业务个数;该第二电子设备通过该第三连接,向该第四电子设备发送响应于该第九连接请求的第九响应信息,该第九响应信息用于指示将该第四电子设备加入到该Wi-Fi直连群组,该第九响应信息包括:该第二电子设备为该第四电子设备分配的IP地址、该Wi-Fi直连群组的群组信息、该第二电子设备的MAC地址。在该实现方式中,第四电子设备可以根据该P2P群组信息以及第二电子设备的MAC地址,加入到P2P群组,与第二电子设备建立Wi-Fi P2P连接。并且,通过对第二电子设备(GO设备)的Wi-Fi P2P能力进行复用,这样第二电子设备就可以感知到当前自身承载了多个业务,其中的任意一个业务断开时,都不会真正地造成P2P群组的移除以及Wi-Fi P2P连接的断开,在多个业务都完成后,才会进行GO设备的移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以完整的传输完成。
根据第二方面,或者以上第二方面的任意一种实现方式,在该第二电子设备通过第三连接,接收该第四电子设备发送的第九连接请求之前,该方法还包括:该第二电子设备和该第四电子设备建立该第三连接,该第三连接包括:蓝牙连接、Wi-Fi连接中的任意一种。
根据第二方面,或者以上第二方面的任意一种实现方式,在该第二电子设备将该第二电子设备维护的引用计数加一之前,该方法还包括:该第二电子设备根据该第九连接请求,确定该第四电子设备为可信设备、以及确定该第二电子设备和该第四电子设备之间不存在Wi-Fi直连链路。
根据第二方面,或者以上第二方面的任意一种实现方式,在该第四业务的数据传输完成后,该方法还包括:该第二电子设备将该第二电子设备维护的引用计数减一。
根据第二方面,或者以上第二方面的任意一种实现方式,该方法还包括:在该第二电子设备维护的引用计数为0时,该第二电子设备拆除该Wi-Fi直连群组。在该实现方式中,通过对第二电子设备(GO设备)的Wi-Fi P2P能力进行复用,其中的任意一个业务断开时,都不会真正地造成P2P群组的移除以及Wi-Fi P2P连接的断开,在多个业务都完成后,才会进行GO设备的移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以完整的传输完成。
根据第二方面,或者以上第二方面的任意一种实现方式,该第四电子设备的信息包括:该第四电子设备的标识、该第四电子设备当前的Wi-Fi直连连接状态、该第四电子设备的Wi-Fi直连端口的MAC地址、该第四电子设备支持的信道列表、该第四电子设备连接的Wi-Fi热点的频率、该第四电子设备是否支持宽频中的至少一种。
第三方面,提供了一种提供了一种Wi-Fi直连下数据传输的方法,该方法应用于包括第一电子设备、第二电子设备和第三电子设备的系统中,该第一电子设备为Wi-Fi直连群组内的第一GC设备,该第三电子设备为该Wi-Fi直连群组内的第二GC设备,该第二电子设备为该Wi-Fi直连群组内的GO设备,该方法包括:该第三电子设备接收用户的第二操作,该第二操作用于向该第一电子设备发送第一业务的数据;该第三电子设备通过第二Wi-Fi直连链路向该第二电子设备发送该第一业务的数据;响应于接收该第一业务的数据,该第二电子设备通过第一Wi-Fi直连链路向该第一电子设备发送该第一业务的数据,该第一Wi-Fi直连链路为该第二电子设备和该第一电子设备之间的Wi-Fi直连链路。该第二Wi-Fi直连链路为该第二电子设备和该第三电子设备之间的Wi-Fi直连链路。
第三方面提供的方法,在该实现方式中,在P2P群组内的第三电子设备(GC设备)向P2P群组内的第一电子设备(另一个GC设备)传输业务数据时,可以建立起P2P群组内的第一电子设备和第三电子设备)之间的传输通道,在进行数据传输时,通过P2P群组内的第二电子设备作为中转。进而实现基于Wi-Fi P2P连接的业务的传输,解决了现有技术中P2P群组内的两个GC设备之间无法传输数据的问题,提高了用户体验。
根据第三方面,在第三方面一种可能的实现方式中,在该第三电子设备通过该第二Wi-Fi直连链路向该第二电子设备发送该第三业务的数据之前,该方法还包括:该第三电子设备通过第一连接,向该第一电子设备发送第一Wi-Fi直连请求,该第一Wi-Fi直连请求包括:该第三电子设备的信息以及该第三电子设备在该Wi-Fi直连群组内连接的GO设备的标识;该第一电子设备根据该第一Wi-Fi直连请求,将该第一电子设备维护的引用计数加一,该第一电子设备维护的引用计数用于表示同时利用该第一电子设备Wi-Fi P2P能力的业务个数;该第一电子设备向第二电子设备发送第一连接请求,该第一连接请求包括:该第三电子设备的信息以及该第三电子设备在该Wi-Fi直连群组内连接的GO设备的标识;该第二电子设备根据该第一连接请求,将该第二电子设备维护的引用计数加一,该第二电子设备维护的引用计数用于表示同时利用该第二电子设备Wi-Fi P2P能力的业务个数;该第二电子设备向该第一电子设备发送响应于该第一连接请求的第一响应信息,该第一响应信息包括:该Wi-Fi直连群组的群组信息、该第三电子设备和该第一电子设备分别与该第二电子设备之间存在Wi-Fi P2P连接的指示信息中的至少一个;该第一电子设备通过该第一连接,向该第三电子设备发送响应于该第一Wi-Fi直连请求的第一Wi-Fi直连响应信息,该第一Wi-Fi直连响应信息:该第一电子设备的IP地址、该第一电子设备在该Wi-Fi直连群组内连接的GO设备的标识;该第三电子设备根据该第一Wi-Fi直连响应信息,将该第三电子设备维护的引用计数加一,该第三电子设备维护的引用计数用于表示同时利用该第一电子设备Wi-Fi P2P能力的业务个数。在该实现方式中,对第一电子设备、第二电子设备以及第三电子设备的Wi-Fi P2P能力进行复用,第一电子设备、第二电子设备以及第三电子设备可以感知到当前自身的Wi-Fi P2P能力承载了多个业务,在多个业务都完成后,才会进行P2P群组移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以正常的传输,不同的业务之间不会相互影响。在进行数据传输时,通过P2P群组内的第二电子设备作为中转。进而实现基于Wi-Fi P2P连接的业务的传输,解决了现有技术中P2P群组内的两个GC设备之间无法传输数据的问题,提高了用户体验。
根据第三方面,或者以上第三方面的任意一种实现方式,该方法还包括:该第三电子设备向该第二电子设备发送第二连接请求,该第二连接请求包括该第一电子设备的信息;该第二电子设备根据该第二连接请求,将该第二电子设备维护的引用计数加一,该第二电子设备维护的引用计数用于表示同时利用该第二电子设备Wi-Fi P2P能力的业务个数;该第二电子设备向该第三电子设备发送响应于该第二连接请求的第二响应信息,该第二响应信息包括:该Wi-Fi直连群组的群组信息、该第三电子设备和该第一电子设备分别与该第二电子设备之间存在Wi-Fi P2P连接的指示信息中的至少一个;该第三电子设备根据该第二响应信息,将该第三电子设备维护的引用计数加一,该第三电子设备维护的引用计数用于表示同时利用该第三电子设备Wi-Fi P2P能力的业务个数;该第三电子设备通过第一连接向该第一电子设备发送第二Wi-Fi直连请求,该第二Wi-Fi直连请求包括:该Wi-Fi直连群组的群组信息、该第三电子设备在该Wi-Fi直连群组内连接的GO设备的标识;该第一电子设备根据该第二Wi-Fi直连请求,将该第一电子设备维护的引用计数加一,该第一电子设备维护的引用计数用于表示同时利用该第一电子设备Wi-Fi P2P能力的业务个数。在该实现方式中,对第一电子设备、第二电子设备以及第三电子设备的Wi-Fi P2P能力进行复用,第一电子设备、第二电子设备以及第三电子设备可以感知到当前自身的Wi-Fi P2P能力承载了多个业务,在多个业务都完成后,才会进行P2P群组移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以正常的传输,不同的业务之间不会相互影响。在进行数据传输时,通过P2P群组内的第二电子设备作为中转。进而实现基于Wi-Fi P2P连接的业务的传输,解决了现有技术中P2P群组内的两个GC设备之间无法传输数据的问题,提高了用户体验。
根据第三方面,或者以上第三方面的任意一种实现方式,该方法还包括:在该第一电子设备将该第一电子设备维护的引用计数加一之前,该方法还包括:该第一电子设备根据该第一Wi-Fi直连请求或者该第二响应信息,确定该第三电子设备在该Wi-Fi直连群组内连接的GO设备的标识和该第一电子设备在该Wi-Fi直连群组内连接的GO设备的标识相同。
根据第三方面,或者以上第三方面的任意一种实现方式,在该第二电子设备将该第二电子设备维护的引用计数加一之前,该方法还包括:该第二电子设备根据该第一连接请求,确定该第三电子设备为可信设备、以及确定该第三电子设备和该第一电子设备分别与该第二电子设备之间存在Wi-Fi P2P连接;或者,该第二电子设备根据该第二连接请求,确定该第一电子设备为可信设备、以及确定该第一电子设备和该第三电子设备分别与该第二电子设备之间存在Wi-Fi P2P连接。
根据第三方面,或者以上第三方面的任意一种实现方式,在该第三电子设备将该第三电子设备维护的引用计数加一之前,该方法还包括:该第三电子设备根据该第一Wi-Fi直连响应信息,确定该第三电子设备在该Wi-Fi直连群组内连接的GO设备的标识和该第一电子设备在该Wi-Fi直连群组内连接的GO设备的标识相同;或者,该第三电子设备根据该第二响应信息,确定该第三电子设备在该Wi-Fi直连群组内连接的GO设备的标识和该第一电子设备在该Wi-Fi直连群组内连接的GO设备的标识相同。
根据第三方面,或者以上第三方面的任意一种实现方式,该方法还包括:该第三电子设备和该第一电子设备建立第一连接,该第一连接包括:蓝牙连接、Wi-Fi连接中的任意一种。
根据第三方面,或者以上第三方面的任意一种实现方式,在该第一业务的数据传输完成后,该方法还包括:该第三电子设备将该第三电子设备维护的引用计数减一;该第一电子设备将该第一电子设备维护的引用计数减一;该第二电子设备将该第二电子设备维护的引用计数减一。
根据第三方面,或者以上第三方面的任意一种实现方式,该方法还包括:在该第二电子设备维护的引用计数为0时,该第二电子设备拆除该Wi-Fi直连群组;或者,在该第一电子设备维护的引用计数为0时,该第一电子设备断开与该第二电子设备之间的该第二Wi-Fi直连链路;或者,在该第三电子设备维护的引用计数为0时,该第三电子设备断开与该第二电子设备之间的该第一Wi-Fi直连链路。在该实现方式中,对第一电子设备、第二电子设备以及第三电子设备的Wi-Fi P2P能力进行复用,第一电子设备、第二电子设备以及第三电子设备可以感知到当前自身的Wi-Fi P2P能力承载了多个业务,在多个业务都完成后,才会进行P2P群组移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以正常的传输,不同的业务之间不会相互影响。
根据第三方面,或者以上第三方面的任意一种实现方式,该第三电子设备的信息包括:该第三电子设备的标识、该第三电子设备当前的Wi-Fi直连连接状态、该第三电子设备的Wi-Fi直连端口的MAC地址、该第三电子设备支持的信道列表、该第三电子设备连接的Wi-Fi热点的频率、该第三电子设备是否支持宽频中的至少一种;或者,
该第一电子设备的信息包括:该第一电子设备的标识、该第一电子设备当前的Wi-Fi直连连接状态、该第一电子设备的Wi-Fi直连端口的MAC地址、该第一电子设备支持的信道列表、该第一电子设备连接的Wi-Fi热点的频率、该第一电子设备是否支持宽频中的至少一种。
第四方面,提供了一种Wi-Fi直连下数据传输的方法,该方法应用于包括第一电子设备、第二电子设备和第三电子设备的系统,该第三电子设备为Wi-Fi直连群组外的空闲设备,该第一电子设备为该Wi-Fi直连群组内的GC设备,该第二电子设备为该Wi-Fi直连群组内的GO设备,该方法包括:该第三电子设备接收用户的第一操作,该第一操作用于向该第一电子设备发送第一业务的数据;响应于该第一操作,该第三电子设备与该第二电子设备建立第一Wi-Fi直连链路;该第三电子设备通过第二Wi-Fi直连链路向该第二电子设备发送该第一业务的数据;响应于接收该第一业务的数据,该第二电子设备通过第一Wi-Fi直连链路向该第一电子设备发送该第一业务的数据,该第一Wi-Fi直连链路为该第二电子设备和该第一电子设备之间的Wi-Fi直连链路。该第二Wi-Fi直连链路为该第二电子设备和该第三电子设备之间的Wi-Fi直连链路。
第四方面提供的方法,在该实现方式中,在P2P群组外的第三电子设备(即空闲设备)向P2P群组内的第一电子设备(即GC设备)传输业务数据时,第二电子可以协助建立起P2P群组内的第一电子设备(即GC设备)和P2P群组外的第三电子设备(即空闲设备)之间的传输通道,从而实现通过第二Wi-Fi直连链路和第一Wi-Fi直连链路向第一电子设备传输业务数据,实现二者之间基于传输通道的数据传输。
根据第四方面,在第三方面一种可能的实现方式中,在该第三电子设备与该第二电子设备建立第一Wi-Fi直连链路之前,该方法还包括:该第一电子设备向该第二电子设备发送第一连接请求,该第一连接请求用于请求将该第三电子设备加入到该Wi-Fi直连群组中,该第一连接请求包括该第三电子设备的信息;该第二电子设备根据该第一连接请求,将该第二电子设备维护的引用计数加一,该第二电子设备维护的引用计数用于表示同时利用该第二电子设备Wi-Fi P2P能力的业务个数;该第二电子设备向该第一电子设备发送响应于该第一连接请求的第一响应信息,该第一响应信息用于指示将该第三电子设备加入到该Wi-Fi直连群组,该第一响应信息包括:该第二电子设备为该第三电子设备分配的IP地址、该Wi-Fi直连群组的群组信息、该第二电子设备的MAC地址中;该第一电子设备根据该第一响应信息,将该第一电子设备维护的引用计数加一,该第一电子设备维护的引用计数用于表示同时利用该第一电子设备Wi-Fi P2P能力的业务个数。在该实现方式中,对P2P群组内的第一电子设备和第二电子设备(即GO设备)设备的Wi-Fi P2P能力进行复用,第一电子设备和第二电子设备可以感知到当前自身的Wi-Fi P2P能力承载了多个业务,在多个业务都完成后,才会进行P2P群组的移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以传输完成,不同的业务之间不会相互影响。在进行数据传输时,通过P2P群组内的第二电子设备作为中转。进而实现基于Wi-Fi P2P连接的业务的传输,解决了现有技术中P2P群组内的GC设备和P2P群组外的空闲设备无法传输数据的问题,提高了用户体验。
根据第四方面,或者以上第四方面的任意一种实现方式,在该第三电子设备与该第二电子设备建立第一Wi-Fi直连链路之前,该方法还包括:该第三电子设备和该第一电子设备建立第一连接,该第一连接包括:蓝牙连接、Wi-Fi连接中的任意一种。
根据第四方面,或者以上第四方面的任意一种实现方式,该方法还包括:该第一电子设备通过该第一连接,向该第三电子设备发送第二连接请求,该第二连接请求包括:该第二电子设备为该第三电子设备分配的IP地址、该Wi-Fi直连群组的群组信息、该第二电子设备的MAC地址、该第一电子设备的IP地址以及端口号;该第三电子设备根据该Wi-Fi直连群组的群组信息、该第二电子设备的MAC地址,与该第二电子设备建立该第一Wi-Fi直连链路。
根据第四方面,或者以上第四方面的任意一种实现方式,该方法还包括:在该第二电子设备将该第二电子设备维护的引用计数加一之前,该方法还包括:该第二电子设备根据该第一连接请求,确定该第三电子设备为可信设备、以及确定该第二电子设备和该第一电子设备之间存在Wi-Fi直连链路。
根据第四方面,或者以上第四方面的任意一种实现方式,在该第一电子设备将该第一电子设备维护的引用计数加一之前,该方法还包括:该第二电子设备根据该第一响应信息,确定该第二电子设备和该第一电子设备之间存在Wi-Fi直连链路。
根据第四方面,或者以上第四方面的任意一种实现方式,在该第一业务的数据传输完成后,该方法还包括:该第一电子设备将该第一电子设备维护的引用计数减一;该第二电子设备将该第二电子设备维护的引用计数减一。
根据第四方面,或者以上第四方面的任意一种实现方式,该方法还包括:在该第二电子设备维护的引用计数为0时,该第二电子设备拆除该Wi-Fi直连群组;或者,在该第一电子设备维护的引用计数为0时,该第一电子设备断开与该第二电子设备之间的Wi-Fi直连链路。
根据第四方面,或者以上第四方面的任意一种实现方式,该第三电子设备的信息包括:该第三电子设备的标识、该第三电子设备当前的Wi-Fi直连连接状态、该第三电子设备的Wi-Fi直连端口的MAC地址、该第三电子设备支持的信道列表、该第三电子设备连接的Wi-Fi热点的频率、该第三电子设备是否支持宽频中的至少一种。
第五方面,提供了一种Wi-Fi直连下数据传输的方法,该方法应用于包括第一电子设备、第二电子设备和第四电子设备的系统,该第四电子设备为Wi-Fi直连群组外的空闲设备,该第一电子设备为该Wi-Fi直连群组内的GC设备,该第二电子设备为该Wi-Fi直连群组内的GO设备,该方法包括:该第四电子设备接收用户的第一操作,该第一操作用于向该第二电子设备发送第一业务的数据;响应于该第一操作,该第四电子设备与该第二电子设备建立第一Wi-Fi直连链路;该第四电子设备通过该第一Wi-Fi直连链路,向该第二电子设备发送第一业务的数据。
第五方面提供的Wi-Fi直连下数据传输的方法,通过对第二电子设备(GO设备)的P2P链路进行管理,在第二电子设备与P2P群组内的第一电子设备(GC设备)之间已经存在基于Wi-Fi P2P业务(或者应用)的情况下,P2P群组外的第四电子设备(空闲设备)发起到第二电子设备(GO设备)的Wi-Fi P2P连接以进行另外的业务数据传输时,第四电子设备可以加入到该P2P群组内,实现了第四电子设备(空闲设备)向第二电子设备(GO设备)的业务数据的传输。
根据第五方面,在第五方面一种可能的实现方式中,该方法还包括:该第四电子设备通过第一连接,向该第二电子设备第一连接请求,该第一连接请求用于请求将该第四电子设备加入到该Wi-Fi直连群组中,该第一连接请求包括该第四电子设备的信息;该第二电子设备根据该第一连接请求,将该第二电子设备维护的引用计数加一,该第二电子设备维护的引用计数用于表示同时利用该第二电子设备Wi-Fi P2P能力的业务个数;该第二电子设备通过该第一连接,向该第四电子设备发送响应于该第一连接请求的第一响应信息,该第一响应信息用于指示将该第四电子设备加入到该Wi-Fi直连群组,该第一响应信息包括:该第二电子设备为该第四电子设备分配的IP地址、该Wi-Fi直连群组的群组信息、该第二电子设备的MAC地址;该第四电子设备根据该Wi-Fi直连群组的群组信息、该第二电子设备的MAC地址,与该第二电子设备建立该第一Wi-Fi直连链路。在该实现方式中,第二电子设备会对第二电子设备的Wi-Fi P2P能力进行复用,这样第二电子设备就可以感知到当前自身承载了多个业务,在该多个业务都传输完成后,才会进行P2P群组以及GO设备的移除,从而保证了不同的业务均可以传输完成,不同的业务之间不会相互影响,提高了用户体验。
根据第五方面,或者以上第五方面的任意一种实现方式,该第四电子设备通过第一连接,向该第二电子设备第一连接请求,该第一连接请求用于请求将该第四电子设备加入到该Wi-Fi直连群组中,该第一连接请求包括该第四电子设备的信息;该第二电子设备根据该第一连接请求,将该第二电子设备维护的引用计数加一,该第二电子设备维护的引用计数用于表示同时利用该第二电子设备Wi-Fi P2P能力的业务个数;该第二电子设备通过该第一连接,向该第四电子设备发送响应于该第一连接请求的第一响应信息,该第一响应信息用于指示将该第四电子设备加入到该Wi-Fi直连群组,该第一响应信息包括:该第二电子设备为该第四电子设备分配的IP地址、该Wi-Fi直连群组的群组信息、该第二电子设备的MAC地址;该第四电子设备根据该Wi-Fi直连群组的群组信息、该第二电子设备的MAC地址,与该第二电子设备建立该第一Wi-Fi直连链路。
根据第五方面,或者以上第五方面的任意一种实现方式,该方法还包括:该第四电子设备根据该第二电子设备为该第四电子设备分配的IP地址,以及该第二电子设备的MAC地址,与该第二电子设备建立基于该第一Wi-Fi直连链路的传输通道。
根据第五方面,或者以上第五方面的任意一种实现方式,该方法还包括:该第四电子设备和该第二电子设备建立该第一连接,该第一连接包括:蓝牙连接、Wi-Fi连接中的任意一种。
根据第五方面,或者以上第五方面的任意一种实现方式,在该第二电子设备将该第二电子设备维护的引用计数加一之前,该方法还包括:该第二电子设备根据该第一连接请求,确定该第四电子设备为可信设备、以及确定该第二电子设备和该第四电子设备之间不存在Wi-Fi直连链路。
根据第五方面,或者以上第五方面的任意一种实现方式,该第二电子设备和该第二电子设备通过第二Wi-Fi直连链路传输第二业务的数据,在该第一业务的数据传输完成或者该第二业务的数据传输完成后,该方法还包括:该第二电子设备将该第二电子设备维护的引用计数减一。
根据第五方面,或者以上第五方面的任意一种实现方式,该方法还包括:在该第二电子设备维护的引用计数为0时,该第二电子设备拆除该Wi-Fi直连群组。在该实现方式中,在该实现方式中,通过对第二电子设备(GO设备)的Wi-Fi P2P能力进行复用,这样第二电子设备就可以感知到当前自身承载了多个业务,其中的任意一个业务断开时,都不会真正地造成P2P群组的移除以及Wi-Fi P2P连接的断开,在多个业务都完成后,才会进行GO设备的移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以完整的传输完成。
根据第五方面,或者以上第五方面的任意一种实现方式,该第四电子设备的信息包括:该第四电子设备的标识、该第四电子设备当前的Wi-Fi直连连接状态、该第四电子设备的Wi-Fi直连端口的MAC地址、该第四电子设备支持的信道列表、该第四电子设备连接的Wi-Fi热点的频率、该第四电子设备是否支持宽频中的至少一种。
第六方面,提供了一种电子设备,该电子设备包括用于执行以上第二方面或者第二方面的任意一方面可能的实现方式中的各个步骤的单元。
第七方面,提供了一种电子设备,该电子设备包括至少一个处理器和存储器,该至少一个处理器用于执行以上第二方面或者第二方面的任意一方面可能的实现方式中的方法。
第八方面,提供了一种电子设备,该电子设备包括至少一个处理器和接口电路,该至少一个处理器用于执行以上第二方面或者第二方面中的任意二方面可能的实现方式中的方法。
第九方面,提供了一种Wi-Fi直连下数据传输的系统,该系统包括用于执行以上第一方面或者第一方面的任意一方面可能的实现方式中的多个电子设备。
第十方面,提供了一种Wi-Fi直连下数据传输的系统,该系统包括用于执行以上第三方面或者第三方面的任意一方面可能的实现方式中的多个电子设备。
第十一方面,提供了一种Wi-Fi直连下数据传输的系统,该系统包括用于执行以上第四方面或者第四方面的任意一方面可能的实现方式中的多个电子设备。
第十二方面,提供了一种Wi-Fi直连下数据传输的系统,该系统包括用于执行以上第五方面或者第五方面的任意一方面可能的实现方式中的多个电子设备。
第十三方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序在被处理器执行时,用于执行第一方面至第五方面中任意一方面中的方法,或者,用于执行第一方面至第五方面中任意一方面中的任意可能的实现方式中的方法。
第十四方面,提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序被执行时,用于执行第一方面至第五方面中任意一方面中的方法,或者,用于执行第一方面至第五方面中任意一方面中的任意可能的实现方式中的方法。
第十五方面,提供了一种芯片,该芯片包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有该芯片的通信设备执行第一方面至第五方面中任意一方面中的方法,或者,用于执行第一方面至第五方面中任意一方面中的任意可能的实现方式中的方法。
本申请提供的Wi-Fi直连下数据传输的方法和电子设备,在P2P群组内的GC设备之间,或者P2P群组内的GC与P2P群组外的空闲设备之间需要进行数据传输时,通过GO设备的介入,协助建立两个设备之间建立传输通道并进行业务数据的传输,使得当前Wi-Fi P2P群组内的设备之间都可以发起连接和通信,从而在业务层将星型组网变为网格(mesh)组网。并且,通过对设备上使用Wi-Fi P2P能力的业务的个数进行统计,在使用Wi-Fi P2P能力的业务的个数为0时才拆除Wi-Fi P2P链路,解决了多个Wi-Fi P2P业务之间的冲突问题,提高了用户体验。
附图说明
图1是现有技术中电子设备上的Wi-Fi P2P业务系统架构的示意图。
图2是Wi-Fi P2P设备连接与组网的形式的示意性。
图3是本申请实施例提供的一例Wi-Fi P2P连接的场景架构的示意图。
图4是本申请实施例提供的一例用户触发设备上的Wi-Fi P2P发现操作的示意性界面图。
图5是本申请实施例提供的一例电子设备上Wi-Fi P2P业务系统架构的示意图。
图6是本申请实施例提供一例适用于本申请实施例的通信系统的示意图。
图7是本申请实施例提供的一例Wi-Fi直连下数据传输的方法的示意性流程图。
图8是本申请实施例提供的一例用户进行操作进行文件分享的示意性界面图。
图9是本申请实施例提供的另一例Wi-Fi直连下数据传输的方法的示意性流程图。
图10是本申请实施例提供另一例适用于本申请实施例的通信系统的示意图。
图11是本申请实施例提供的又一例Wi-Fi直连下数据传输的方法的示意性流程图。
图12是本申请实施例提供的又一例Wi-Fi直连下数据传输的方法的示意性流程图。
图13是本申请实施例提供又一例适用于本申请实施例的通信系统的示意图。
图14是本申请实施例提供的一例Wi-Fi直连下数据传输的方法的示意性流程图。
图15是本申请实施例提供又一例适用于本申请实施例的通信系统的示意图。
图16是本申请实施例提供的又一例Wi-Fi直连下数据传输的方法的示意性流程图。
图17是本申请实施例提供的一例电子设备结构的示意性框图。
图18是本申请实施例提供的一例通信装置结构的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
另外,本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本申请中使用的术语“制品”涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmableread-only memory,EPROM)、卡、棒或钥匙驱动器等)。另外,本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
本申请实施例的技术方案可以应用于各种通信系统,例如:全球移动通讯(GlobalSystem of Mobile communication,GSM)系统、码分多址(Code Division MultipleAccess,CDMA)系统、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)系统、通用分组无线业务(General Packet Radio Service,GPRS)、长期演进(Long TermEvolution,LTE)系统、LTE频分双工(Frequency Division Duplex,FDD)系统、LTE时分双工(Time Division Duplex,TDD)、通用移动通信系统(Universal MobileTelecommunication System,UMTS)、全球互联微波接入(Worldwide Interoperabilityfor Microwave Access,WiMAX)通信系统、第五代(5th Generation,5G)系统或新无线(NewRadio,NR)等。
另外,本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本申请中使用的术语“制品”涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmableread-only memory,EPROM)、卡、棒或钥匙驱动器等)。另外,本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
Wi-Fi P2P技术是Wi-Fi联盟推出的“Wi-Fi DIRECT”标准协议下的一项重要技术,Wi-Fi P2P可以支持两个Wi-Fi设备在没有Wi-Fi热点介入的情况下,直接与对方设备进行连接和通信。
图1所示的为Wi-Fi P2P业务系统架构图,如图1所示的,该系统架构主要包括:Wi-Fi芯片(Chipset)、Wi-Fi驱动(Wi-Fi Driver)、中间件、应用程序框架层(FRAMEWORK)、以及上层应用(application,APP)。其中,Wi-Fi驱动负责将Wi-Fi芯片与终端设备的操作系统对接起来,而中间件用于终端设备运行中所有消息在内核态与用户态之间的中转,目前应用最为广泛的中间件之一是wpa_supplicant。wpa_supplicant是一个开源项目,后来被谷歌(Google)修改后引入了安卓(Android)平台,是一个独立运行在设备内的守护进程,用于消息的中转。
FRAMEWORK是运行在终端设备操作系统之上的一些系统能力,以安卓开放源代码项目(android open source project,AOSP)为例,AOSP提供了一些用于操作Wi-Fi P2P的相关接口和服务,例如Wi-Fi P2P相关的服务可以包括Wi-Fi P2P Service,Wi-FiP2PService对应的接口类型为Wi-Fi P2P管理(Manager)类型,Wi-Fi P2P Manager类型的接口包括:提供诸如发现设备(discoverPeers)、连接(connect)等接口,这些接口可以由用户直接对Wi-Fi P2P进行控制。
上层应用是使用FRAMEWORK接口的一些用户可直接接触的应用,它们运行在终端设备上,是用户与终端设备交互的窗口。
Wi-Fi P2P的连接协议一般在Wi-Fi芯片内实现,终端设备内的FRAMEWORK层通过驱动与芯片进行交互。例如,以AOSP为例,FRAMEWORK层通过wpa_supplicant用来与驱动交互以及支持加密认证,通过应用层提供了若干可供开发者/业务直接调用的接口函数,调用后可以通过驱动使芯片执行对应的Wi-Fi P2P相关操作,FRAMEWORK层自身负责上层应用与下层硬件(包括wpa_supplicant、Wi-Fi Driver、Chipset)的消息中转和协调、连接管理等内容。目前,用户对于Wi-Fi P2P的操作都是应用层通过调用FRAMEWORK中的Wi-Fi P2P相关接口和服务来实现的。
一个完整的Wi-Fi P2P业务包括了Wi-Fi P2P设备发现、Wi-Fi P2P设备连接、Wi-Fi P2P设备业务数据传输这三个阶段。在Wi-Fi P2P设备连接建立后形成一个P2P群组(或者也可以称为Wi-Fi P2P群组)。在P2P群组内,设备存在P2P群组管理者(group owner,GO)和P2P群组客户端(group client,GC)两种角色的区分,同时协议规范里对Wi-Fi P2P连接的方式进行了说明和限制,主要存在以下三点:
(1)GO设备仅能与GC相连接,无法与其他GO设备建立连接;
(2)GC设备仅能与GO设备相连接,无法与其他设备GO或GC设备建立连接;
(3)GO设备连接GC设备的数量存在上限;
除了Wi-Fi DIRECT协议本身的限制之外,不同芯片厂商、不同操作系统(例如Android、windows等)还存在一些其他对Wi-Fi P2P连接的限制,例如海思等芯片平台不支持同一个设备上的多种P2P角色。不支持同一个设备上的多种P2P角色可以理解为:同一个设备不能同时作为GO和GC;或者,在一个设备作为GO的期间内,该设备不能作为另外一个P2P群组内的GO;或者,在一个设备作为GC的期间内,该设备不能作为另外一个P2P群组内的GC。并且,AOSP也不支持同一个设备多种P2P角色共存。因此,如图2所示的,当前Wi-Fi P2P设备连接与组网的形式局限于以GO设备为中心的星型网络。
当前Android系统上的Wi-Fi P2P应用(或者也可以称为业务)都是独立管理Wi-FiP2P链路。具体的,在应用(例如为投屏应用、文件分享应用或者办公协同应用等)启动时通过调用FRAMEWORK的扫描接口启动Wi-Fi P2P服务,利用下层硬件(wpa_supplicant、Wi-FiDriver、Chipset)开始Wi-Fi P2P设备发现,在Wi-Fi P2P设备发现后,应用通过调用FRAMEWORK的连接接口启动Wi-Fi P2P服务进行Wi-Fi P2P设备连接以及Wi-Fi P2P链路的建立。业务结束时,应用调用FRAMEWORK的连接接口启动Wi-Fi P2P服务进行Wi-Fi P2P链路的删除。
然而,AOSP对Wi-Fi P2P设备连接的管理做的并不完善,其对业务提供的接口对所有业务开放,但底层设备间的物理连接只有一条,当多个应用(或者业务)同时操作或使用设备的Wi-Fi P2P能力时,就会出现业务冲突问题。换句话说,设备上的Wi-Fi P2P链路由各个应用独自管理和协商,由于资源限制Wi-Fi P2P底层链路只会产生一个,一个业务将Wi-Fi P2P资源占用,该设备上的另外一个Wi-Fi P2P相关业务就不能保证完整的传输。这就会导致多Wi-Fi P2P业务冲突问题。例如,两个设备间存在业务1和业务2,如果这两个设备均为GC设备,业务1建立了这两个设备之间的Wi-Fi P2P连接后,业务2也要使用该Wi-Fi P2P连接(或者使用该Wi-Fi P2P能力),此时业务2调用Wi-Fi P2P连接接口就会直接失败。如果这两个设备一个为GO设备,另一个为GC设备,业务2可以直接使用业务1建立的Wi-Fi P2P连接,虽然可以实现这两个设备间的通信,但一旦业务1结束后断开Wi-Fi P2P连接,这两个设备间的Wi-Fi P2P连接也随即断开,业务2也会被中断。又例如,多个设备之间的多业务Wi-Fi P2P业务冲突问题,假设:手机A和电脑正在办公协同,手机A和电脑建立了Wi-Fi P2P连接,此时电脑为GO设备或接入点(access point,AP)设备,手机A为GC设备,在这种情况下,手机A不能同时向另外一个手机B分享文件,并且,手机A也不能接收手机B分享的文件。
当前一种建立Wi-Fi P2P连接的方式是使用AOSP原生接口,按照Wi-Fi DIRECT标准协议,从Wi-Fi P2P设备发现开始,进行Wi-Fi P2P连接,连接完成后建立基于Wi-Fi P2P的传输通路。在进行设备间的Wi-Fi P2P连接时,必须双端设备一同发起P2P设备发现,发现设备后在调用Wi-Fi P2P连接接口进行连接。在这个过程中,如果其中一方设备是永久组(persistent group),则建立连接后此永久组设备会作为GO设备,对端设备作为GC设备,否则,则会根据双端设备的协商结果确定GO设备和GC设备的角色。图3所示的为本申请提供的一例Wi-Fi P2P连接的场景架构的示意图。如图3所示的,GO设备、GC1设备、GC2设备、GC3设备组成一个P2P群组,GO设备分别与GC1设备、GC2设备、GC3设备之间已经建立了Wi-Fi P2P连接。空闲设备1和空闲设备2为该P2P群组外的两个空闲设备,空闲设备1和空闲设备2与其他设备之间没有建立Wi-Fi P2P连接。该P2P群组内的GO设备分别与GC1设备、GC2设备、GC3设备之间进行Wi-Fi P2P业务的传输。在图3所示的架构中,存在四个场景:
场景1:P2P群组外的两个空闲设备之间进行Wi-Fi P2P连接,在场景1中,发起连接方是空闲设备1或者空闲设备2均是等价的,以空闲设备1发起Wi-Fi P2P连接为例进行说明。在发起Wi-Fi P2P连接前,空闲设备1与空闲设备2需要同时触发Wi-Fi P2P的发现操作,当空闲设备1通过空闲设备2广播的报文,发现了空闲设备2之后,空闲设备1可以调用连接命令,建立两个与空闲设备2之间的Wi-Fi P2P连接。
场景2:空闲设备与P2P群组内的GO设备之间建立Wi-Fi P2P连接。以空闲设备1和GO设备之间建立Wi-Fi P2P连接为例进行说明,当空闲设备1发起到GO设备的连接时,由于GO设备建立P2P群组后会持续发送广播,因此无需再GO设备上触发Wi-Fi P2P发现。在空闲设备1上需要触发Wi-Fi P2P发现,当空闲设备1通过GO设备广播的报文,发现了GO设备之后,空闲设备1通过连接操作可以建立到GO设备的Wi-Fi P2P连接。
当GO设备发起到空闲设备1的Wi-Fi P2P连接时,类似的,需要GO设备与空闲设备1同时触发Wi-Fi P2P发现,在GO设备发现空闲设备1后,GO设备可以通过连接操作建立与空闲设备1的Wi-Fi P2P连接。
例如,图4所示的为用户触发空闲设备或者GO设备上的Wi-Fi P2P发现操作的示意性界面图。如图4中的a所示的,用户可以点击空闲设备或者GO设备上的“设置”图标,显示的界面如图4中的b所示的,用户单击“WLAN直连”菜单,便可以触发Wi-Fi P2P发现。用户点击“WLAN直连”后,显示的界面如图4中的c所示的,用户点击“停止”菜单,便可以停止Wi-FiP2P发现。在发现的众多可用的设备中,用户可以点击其中的任意一个设备,在用户点击该设备后,用户使用的设备便可以和该设备进行Wi-Fi P2P连接。
对于上述的场景1和场景2,利用上述的建立Wi-Fi P2P连接的方法可以建立Wi-FiP2P连接,在Wi-Fi P2P连接建立完成后,还需要建立能够传输数据的通路,由于当前AOSP的接口只能获取GO设备的互联网协议(internet protocol,IP)地址,因此在不依赖其他通信手段来协助交换端口号的情况下,只能由GO设备侧在固定端口上进行监听,由GC设备以GO设备IP地址和端口号的信息来建立套接字(socket)连接,从而进行后续的数据传输。
场景3:P2P群组内的GC设备之间建立Wi-Fi P2P连接。例如,P2P群组内的GC1与GC2之间建立Wi-Fi P2P连接。利用上述的建立Wi-Fi P2P连接的方式,对于场景3而言,两台设备已经成为GC设备,两台GC设备双端触发设备发现后,能够互相发现对端,但是发起设备连接后,两台GC设备之间的Wi-Fi P2P连接会失败,也无法进行后续的数据传输。
场景4:P2P群组内的GC设备与P2P群组外的空闲设备之间Wi-Fi P2P连接。例如,P2P群组内的GC1设备与空闲设备1之间建立Wi-Fi P2P连接。利用上述的建立Wi-Fi P2P连接的方式,对于场景4而言,GC1设备可以通过邀请模式将空闲设备1连接至GO设备上,但连接完成后,无论是原来的GC1设备,还是该空闲设备1,如果不借助其他通信方式协助传递信息,就无法获取对方的IP地址,从而无法建立传输通道。
因此,利用上述的建立Wi-Fi P2P连接的方式,对于上述的场景3和场景4,即两个GC设备之间,或者GC设备与群组外的设备之间,均无法建立Wi-Fi P2P连接。
有鉴于此,本申请提供了一种Wi-Fi P2P连接的方法,在P2P群组内的GC设备之间,或者P2P群组内的GC与P2P群组外的空闲设备之间需要进行数据传输时,通过GO设备的介入,协助建立两个设备之间建立传输通道并进行业务数据的传输,使得当前Wi-Fi P2P群组内的设备之间都可以发起连接和通信,从而在业务层将星型组网变为网格(mesh)组网。并且,通过对设备上使用Wi-Fi P2P能力的业务的个数进行统计,在使用Wi-Fi P2P能力的业务的个数为0时才拆除Wi-Fi P2P链路,解决了多个Wi-Fi P2P业务之间的冲突问题,提高了用户体验。
下面结合具体的例子来说明本申请提供的Wi-Fi P2P连接的方法。
应理解,本申请提供的方法主要是针对Wi-Fi DIRECT标准协议中的Wi-Fi P2P连接和组网的场景中,可以适用于使用Wi-Fi DIRECT标准协议的Wi-Fi P2P技术的Android操作系统和WINDOWS操作系统的设备中,还可以适用于使用IOS操作系统和鸿蒙操作系统的设备中等。本申请实施例在此不作限制。
图5所示的为本申请提供的一例Wi-Fi P2P业务系统架构图,如图5所示的,该系统架构主要包括:Wi-Fi芯片(Chipset)、Wi-Fi驱动(Wi-Fi Driver)、中间件、应用程序框架层(FRAMEWORK)、通信模块以及上层应用(application,APP)。其中,在FRAMEWORK层的Wi-FiP2P服务中还包括P2P链路管理模块。P2P链路管理模块用于对设备的Wi-Fi P2P能力(或者Wi-Fi P2P链路)进行管理。通信模块用于应用层和FRAMEWORK层之间进行通信。应该理解,在本申请实施例中,通信模块还可以位于FRAMEWORK层之中。
图6所示的一例适用于本申请实施例的通信系统的示意图。如图6所示的,该系统包括:第一电子设备、第二电子设备以及第三电子设备,其中,第二电子设备和第一电子设备之间已经建立了Wi-Fi P2P连接,换句话说,第二电子设备和第一电子设备已经组成一个P2P群组,在该P2P群组内,第二电子设备为GO设备或者为AP设备,第一电子设备为GC设备。第三电子设备为该P2P群组外的一个空闲设备,第三电子设备和其他设备之间没有Wi-FiP2P连接。在图6所示的例子中,第三电子设备为手机B为例、第一电子设备为手机A为例,第二电子设备为大屏设备(例如为智能电视、智慧屏等)为例。手机A正在投屏到大屏设备,然后手机B(空闲设备)需要发起到手机A的文件分享。手机A与大屏设备投屏是使用的Wi-FiP2P链路。
图7所示的为在图6所示的场景中,本申请提供的一例Wi-Fi P2P连接的方法的示意性流程图。其中,手机A正在投屏到大屏设备,手机A与大屏设备投屏是使用的Wi-Fi P2P链路,如图7所示的,该方法包括:S101至S127。
S101,用户在手机B上打开第一应用(即文件管理应用),例如,如图8中的a所示的,选择需要分享的文件(例如为文件1),点击“分享”,选择分享方式为“Wi-Fi直连”,如图8中的b和c所示的。图8所示的为用于在手机B上执行的操作。
S102,在用户点击“Wi-Fi直连”后,手机B上的第一应用向手机B中的通信模块发送发现设备请求。
S103,手机B中的通信模块接收到该发现设备请求后,启动低功耗蓝牙(bluetoothlow energy,BLE)扫描、经典蓝牙扫描、无线局域网(wireless local area networks,WLAN)扫描或者Wi-Fi P2P扫描等发现设备的方式来发现设备。在本申请实施例中,经典蓝牙包括蓝牙基础速率(bluetooth basic rate,BR)和蓝牙增强速率(bluetooth enhanceddata rate,EDR)两种类型的蓝牙中的至少一种。
S104,手机B中的通信模块扫描到设备后,将扫描到的设备列表发送给手机B上的第一应用,该设备列表中包含有一个或多个设备的设备标识。例如,显示的设备列表可以如图8中的d所示的。
S105,用户在手机B上的第一应用上选择设备列表中的手机A的设备标识,该手机A的设备标识可以为手机A的设备型号、标识码、设备名称、设备ID(device ID)等。手机A的设备标识用于唯一标识该手机A。
S106,用户在设备列表中点击手机A的设备标识后,手机B上的第一应用会向手机B中的通信模块发送Wi-Fi P2P连接请求。该Wi-Fi P2P连接请求包括手机A的设备标识。
S107,手机B中的通信模块接收到该Wi-Fi P2P连接请求后,首先和手机A中的通信模块建立第一连接。例如,该第一连接可以为BLE连接、BR连接、Wi-Fi连接等。本申请实施例在此不作限制。
S108,手机B中的通信模块和手机A中的通信模块基于第一连接进行秘钥的协商,得到加密秘钥和解密秘钥,从而完成基于第一连接的安全认证。
S109,手机B中的通信模块存储该加密秘钥和解密秘钥。
S110,手机A中的通信模块存储该加密秘钥和解密秘钥。
S111,手机B中的通信模块通过第一连接向手机A中的通信模块发送Wi-Fi P2P连接请求,该Wi-Fi P2P连接请求利用加密秘钥进行加密。该Wi-Fi P2P连接请求包括:手机B的设备标识、手机B当前的Wi-Fi P2P连接状态(手机B当前的Wi-Fi P2P连接状态包括:手机B当前没有与任何设备之间存在Wi-Fi P2P连接的状态,该连接状态可以用0表示;手机B当前与其他设备之间存在Wi-Fi P2P连接,且手机B的角色为GO的状态,该连接状态可以用1表示;手机B当前与其他设备之间存在Wi-Fi P2P连接,且手机B的角色为GC的状态,该连接状态可以用2表示。在本实施例中,手机B当前无Wi-Fi P2P连接,手机B当前的Wi-Fi P2P连接状态用0表示)、手机B的Wi-Fi P2P端口的媒体接入控制(media access control,MAC)地址、手机B支持的信道列表(例如为支持36信道,对应5180MHz)、手机B预期的连接方式(例如手机B期望以GC的身份建立Wi-Fi P2P连接,或者手机B期望以GO的身份建立Wi-Fi P2P连接,在本实施例中,手机B期望是以GC的身份建立Wi-Fi P2P连接)、手机B连接的Wi-Fi热点的频率、是否支持宽频(例如是否支持160MHz,如果支持可以用true表示,如果不支持可以用false表示)等信息中的至少一个。
S112,手机A中的通信模块接收到该Wi-Fi P2P连接请求后,利用该解密秘钥进行解密。手机A中的通信模块根据已经存储的连接信息,确定手机A已经为GC,因此不能与手机B之间直接建立Wi-Fi P2P连接。
具体的,由于手机A在与大屏设备建立Wi-Fi P2P连接后,手机A中的通信模块会收到FRAMEWORK层上报的连接状态变化通知,该通知携带着基本的连接信息,因此手机A的通信模块里已经维护了既有的连接信息,该连接信息包括:手机A当前的Wi-Fi P2P连接状态和角色(例如:手机A已经存在Wi-Fi P2P连接且角色为GC,该信息可以用2表示)、所连接的设备(大屏设备)的角色(为GO)以及大屏设备的MAC地址等。而对于大屏设备而言,大屏设备中的通信模块也会收到FRAMEWORK层上报的连接状态变化通知,该通知携带着基本的连接信息,由于大屏设备为GO角色,因此,该连接信息除了包括与自己(大屏设备)连接的设备(包括手机A)的Wi-Fi P2P连接状态、角色以及设备的地址信息外,还包括该P2P群组的信息。在本申请实施例中,该P2P群组信息包括:该P2P群组的服务集标识(service setidentifier,SSID)、基本服务集标识(basicservice set identifier,BSSID)、频率、密码(PASSWORD)中至少一种。
S113,手机A中的通信模块向大屏设备中的通信模块发送连接请求,该连接请求用于请求将手机B加入手机A和大屏设备组成的P2P群组中。该连接请求包括:手机B的设备标识、手机B当前的Wi-Fi P2P连接状态、手机B的Wi-Fi P2P端口的MAC地址、手机B支持的信道列表、手机B预期的连接方式、手机B连接的Wi-Fi热点的频率、手机B是否支持宽频等信息中的至少一个。
S114,大屏设备中的通信模块接收到该连接请求后,会校验手机B是否为可信设备,以及判断大屏设备是否已经与手机B建立了Wi-Fi P2P连接。
S115,在确定大屏设备没有与手机B建立了Wi-Fi P2P连接,大屏设备是GO设备,并且手机B是可信设备(例如,手机B和大屏设备登录的是同一个账号,或者手机B与大屏设备通过各种方式(例如通过二维码扫描等)进行过设备绑定)后,大屏设备中的通信模块向大屏设备中的P2P链路管理模块发送申请复用Wi-Fi P2P能力的请求。可选的,该申请复用Wi-Fi P2P能力的请求可以包括大屏设备与手机A之间已经存在Wi-Fi P2P链路的指示信息。
S116,大屏设备中的P2P链路管理模块接收到该请求后,作为一种可能的实现方式,如果该申请复用Wi-Fi P2P能力的请求包括大屏设备与手机A之间已经存在Wi-Fi P2P链路的指示信息,则可以确定大屏设备可以复用Wi-Fi P2P能力。或者,作为另一种可能的实现方式,如果该申请复用Wi-Fi P2P能力的请求不包括大屏设备与手机A之间已经存在Wi-Fi P2P链路的指示信息,由于大屏设备中的通信模块已经维护了既有的连接信息,该连接信息包括:与自己连接设备(包括手机A)的Wi-Fi P2P连接状态、角色以及这些设备的地址信息、P2P群组的信息等。大屏设备中的P2P链路管理模块可以从通信模块处获取该连接信息,从而根据该连接信息,确定大屏设备与手机A之间已经存在Wi-Fi P2P链路,或者,确定大屏设备已经存与手机A之间已经存在Wi-Fi P2P链路,并且,该Wi-Fi P2P链路支持其他业务使用,则可以确定大屏设备可以复用Wi-Fi P2P能力。
进一步的,大屏设备可以维护一个引用计数,该引用计数用于指示同时利用大屏设备Wi-Fi P2P能力的业务(或者应用)的个数。在确定可以复用Wi-Fi P2P能力前,大屏设备维护的引用计数的值为1,表示大屏设备自身的Wi-Fi P2P能力承载了1个业务(手机A向大屏设备的投屏业务)。在确定可以复用Wi-Fi P2P能力后,引用计数的值加1,变为2,表示大屏设备自身的Wi-Fi P2P能力承载了2个业务(手机A向大屏设备的投屏业务以及手机B向手机A的文件分享业务)。引用计数的值变为2后,若投屏业务断开,引用计数变为1,由于引用计数不为0,因此大屏设备不会拆除P2P群组,手机B还可以正常的向手机A分享文件。只有在引用计数变为0,即投屏业务和文件分享业务均断开时,大屏设备才会拆除P2P群组。
S117,大屏设备中的P2P链路管理模块确定可以复用Wi-Fi P2P能力后,向大屏设备中的通信模块发送复用P2P能力成功的响应信息。
S118,大屏设备中的通信模块接收到该复用P2P能力成功的响应信息后,向手机A中的通信模块发送连接请求响应信息,该连接请求响应信息包括:允许手机B加入P2P群组的指示信息、手机A和大屏设备组成的P2P群组的信息、大屏设备为手机B分配的IP地址、大屏设备的MAC地址等信息。应理解,该连接请求响应信息中可以包括:允许手机B加入P2P群组的指示信息和手机A和大屏设备组成的P2P群组的信息中任意一个,而不必同时包括允许手机B加入P2P群组的指示信息、以及手机A和大屏设备组成的P2P群组的信息。可选的,该连接请求响应信息还可以包括:大屏设备已经与手机A之间存在Wi-Fi P2P连接的指示信息。
S119,手机A中的通信模块接收到该连接请求响应信息后,根据允许手机B加入P2P群组的指示信息,或者,P2P群组群组信息,确定手机B可以加入P2P群组。由于两个设备之间的Wi-Fi P2P链路(或者Wi-Fi P2P连接)是需要这两个设备共同维护的,而对Wi-Fi P2P能力的复用是针对一个设备而言的,只对某一台设备申请Wi-Fi P2P能力复用,只可以保证这台设备在业务存续期间不会主动断开Wi-Fi P2P链路,对端设备无法保证不会主动断开该Wi-Fi P2P链路,最终还是会影响到业务传输,因此,手机A中的通信模块也需要向手机A中的P2P链路管理模块发送申请复用Wi-Fi P2P能力的请求。可选的,该申请复用Wi-Fi P2P能力的请求还可以包括:大屏设备已经与手机A之间存在Wi-Fi P2P连接的指示信息。
S120,手机A中的P2P链路管理模块接收到该请求后,作为一种可能的实现方式,如果该请求中携带:大屏设备已经与手机A之间存在Wi-Fi P2P连接的指示信息,则手机A中的P2P链路管理模块可以确定手机A可以复用Wi-Fi P2P能力。或者,作为另一种可能的实现方式,如果该请求中携带:大屏设备已经与手机A之间存在Wi-Fi P2P连接的指示信息,并且,手机A中的P2P链路管理模块确定该Wi-Fi P2P链路支持其他业务使用,则可以确定手机A可以复用Wi-Fi P2P能力。或者,作为又一种可能的实现方式,如果该请求中没有携带大屏设备已经与手机A之间存在Wi-Fi P2P连接的指示信息,由于手机A中的通信模块已经维护了既有的连接信息,该连接信息包括:手机A当前的连接状态和角色(例如:手机A已经存在Wi-Fi P2P连接且角色为GC)、所连接的设备(大屏设备)的角色(为GO)以及大屏设备的MAC地址等。手机A中的P2P链路管理模块可以从通信模块处获取该连接信息,从而根据该连接信息,确定手机A与大屏设备之间已经存在Wi-Fi P2P链路(手机A和大屏设备之间投屏的Wi-FiP2P链路),或者,确定手机A当前已经存在Wi-Fi P2P链路(手机A和大屏设备之间投屏的Wi-Fi P2P链路),并且,该Wi-Fi P2P链路支持其他业务使用,则可以确定手机A可以复用Wi-FiP2P能力。
进一步的,手机A也可以维护一个引用计数,该引用计数用于指示同时利用手机AWi-Fi P2P能力的业务(或者应用)的个数。在确定可以复用Wi-Fi P2P能力前,手机A维护的引用计数的值为1,表示手机A自身的Wi-Fi P2P能力承载了1个业务(手机A向大屏设备的投屏业务)。在确定可以复用Wi-Fi P2P能力后,引用计数的值加1,变为2,表示手机A自身的Wi-Fi P2P能力承载了2个业务(手机A向大屏设备的投屏业务以及手机B向手机A的文件分享业务)。引用计数的值变为2后,若投屏业务断开,引用计数变为1,由于引用计数不为0,因此手机A不会断开该Wi-Fi P2P链路,手机B还可以正常的向手机A分享文件。只有在引用计数变为0,即投屏业务和文件分享业务均断开时,手机A才会断开该Wi-Fi P2P链路。
S121,手机A中的P2P链路管理模块确定可以复用Wi-Fi P2P能力后,向手机A中的通信模块发送复用P2P能力成功的响应信息。
S122,手机A中的通信模块接收到该响应信息后,通过第一连接向手机B中的通信模块发送Wi-Fi P2P连接请求响应信息,该Wi-Fi P2P连接请求响应信息利用加密秘钥进行加密。该Wi-Fi P2P连接请求响应信息包括:允许手机B加入P2P群组的指示信息、手机A和大屏设备组成的P2P群组的信息(例如,P2P群组的SSID、BSSID、频率、PASSWORD等)、大屏设备为手机B分配的IP地址、大屏设备的MAC地址、手机A的IP地址以及端口号信息等,其中,手机A的端口号是手机A的通信模块在Wi-Fi P2P建立后通过启动监听来获取的。应理解,该Wi-Fi P2P连接请求响应信息中可以包括:允许手机B加入P2P群组的指示信息、以及手机A和大屏设备组成的P2P群组的信息中任意一个,而不必同时包括允许手机B加入P2P群组的指示信息和手机A和大屏设备组成的P2P群组的信息。
S123,手机B中的通信模块接收到该Wi-Fi P2P连接请求响应信息并利用解密秘钥进行解密后,根据允许手机B加入P2P群组的指示信息,或者手机A和大屏设备组成的P2P群组的信息,确定可以加入P2P群组,则向手机B中的P2P链路管理模块发送加入P2P群组的请求,该请求中携带P2P群组信息以及大屏设备的MAC地址。
S124,手机B中的P2P链路管理模块根据该P2P群组信息以及大屏设备的MAC地址,通过连接接口(例如为connect接口),直接发起到大屏设备的Wi-Fi P2P连接,加入P2P群组后,手机B中的P2P链路管理模块向手机B中的通信模块发送响应信息,用于向手机B中的通信模块通知手机B加入P2P群组成功。
S125,手机B中的通信模块接收到该响应信息后,向手机B上的第一应用发送Wi-FiP2P连接请求响应信息,用于向手机B上的第一应用通知手机B加入P2P群组成功,该Wi-FiP2P连接请求响应信息携带:大屏设备为手机B分配的IP地址、手机B自己生成的端口号、手机A的IP地址以及端口号。
S126,手机B加入P2P群组后,手机B已经成为GC设备,手机B上的第一应用利用大屏设备为手机B分配的IP地址以及手机B自己生成的端口号,结合手机A的IP地址以及端口号信息等,与手机A上的第一应用建立socket传输通道。
S127,手机B上的第一应用基于socket传输通道,向手机A上的第一应用开始文件分享。其中,文件分享业务开始后,手机B先将分享文件的数据传输至大屏设备,大屏设备再将该分享文件的数据传输给手机A,即文件分享业务的数据流为:手机B→大屏设备→手机A。投屏业务的数据流为手机A→大屏设备。
图7所示方法为手机B(空闲设备)需要发起到手机A(GC设备)的文件分享的流程。图9所示的为在图6所示的场景中,手机A(GC设备)需要发起向手机B(空闲设备)的文件分享的方法的示意性流程图,其中,手机A正在投屏到大屏设备,手机A与大屏设备投屏是使用的Wi-Fi P2P链路。如图9所示的,该方法包括:S201至S228。
S201,用户在手机A上打开第一应用(即文件管理应用),例如,如图8中的a所示的,选择需要分享的文件(例如为文件1),点击“分享”,选择分享方式为“Wi-Fi直连”,如图8中的b和c所示的。
S202,在用户点击“Wi-Fi直连”后,手机A上的第一应用向手机B中的通信模块发送发现设备请求。
S203,手机A中的通信模块接收到该发现设备请求后,启动BLE扫描、BR扫描、WLAN扫描或者Wi-Fi P2P扫描等发现设备的方式来发现设备。
S204,手机A中的通信模块扫描到设备后,将扫描到的设备列表发给手机A上的第一应用。该设备列表中包含有一个或多个设备的设备标识。
S205,用户在手机A上的第一应用上选择设备列表中的手机B的设备标识,该手机B的设备标识可以为手机B的设备型号、标识码、设备名称、设备ID(device ID)等。手机B的设备标识用于唯一标识该手机B。
S206,用户在设备列表中点击手机B的设备标识后,手机A上的第一应用向手机A中的通信模块发送Wi-Fi P2P连接请求。
S207,手机A中的通信模块接收到该Wi-Fi P2P连接请求后,首先和手机B中的通信模块建立第一连接。例如,该第一连接可以为BLE连接、BR连接、Wi-Fi连接等。本申请实施例在此不作限制。
S208,手机A中的通信模块和手机B中的通信模块基于第一连接进行秘钥的协商,得到加密秘钥和解密秘钥,从而完成基于第一连接的安全认证。
S209,手机A中的通信模块存储该加密秘钥和解密秘钥。
S210,手机B中的通信模块存储该加密秘钥和解密秘钥。
S211,由于手机A在与大屏设备建立Wi-Fi P2P连接后,手机A中的通信模块会收到FRAMEWORK层上报的连接状态变化通知,该通知携带着基本的连接信息,因此手机A的通信模块里已经维护了既有的连接信息,该连接信息包括:手机A的设备标识、手机A当前的Wi-Fi P2P连接状态和角色(例如:手机A已经存在Wi-Fi P2P连接且角色为GC,该信息可以用2表示)、所连接的设备(大屏设备)的角色(为GO)以及大屏设备的MAC地址等。而对于大屏设备而言,大屏设备中的通信模块也会收到FRAMEWORK层上报的连接状态变化通知,该通知携带着基本的连接信息,由于大屏设备为GO角色,因此,该连接信息除了包括与自己(大屏设备)连接的设备(包括手机A)的Wi-Fi P2P连接状态、角色以及设备的地址信息外,还存储了该P2P群组的信息中的至少一个。在本申请实施例中,该P2P群组的信息可以是SSID、BSSID、频率、密码(PASSWORD)中至少一种。因此,手机A中的通信模块根据连接信息,确定手机A已经为GC,进而确定手机A不能与手机B之间直接建立Wi-Fi P2P连接。
S212,手机A中的通信模块向大屏设备(即GO设备)中的通信模块发送连接请求,该连接请求用于请求将手机B加入手机A和大屏设备组成的P2P群组中。该连接请求包括手机B的身份信息,在本申请实施例中,手机B的身份信息包括:手机B的设备标识、手机B当前的Wi-Fi P2P连接状态、手机B的Wi-Fi P2P端口的MAC地址、手机B支持的信道列表(例如为支持36信道,对应5180MHz)、手机B预期的连接方式(例如手机B期望以GC的身份建立Wi-FiP2P连接,或者手机B期望以GO的身份建立Wi-Fi P2P连接,在本实施例中,手机B期望是以GC的身份建立Wi-Fi P2P连接)、手机B连接的Wi-Fi热点的频率、是否支持宽频(例如是否支持160MHz,如果支持可以用true表示,如果不支持可以用false表示)等信息中的至少一个。例如,手机B当前的Wi-Fi P2P连接状态包括:手机B当前没有与任何设备之间存在Wi-Fi P2P连接的状态,该连接状态可以用0表示;手机B当前与其他设备之间存在Wi-Fi P2P连接,且手机B的角色为GO的状态,该连接状态可以用1表示;手机B当前与其他设备之间存在Wi-FiP2P连接,且手机B的角色为GC的状态,该连接状态可以用2表示。在本实施例中,手机B当前无Wi-Fi P2P连接,手机B当前的Wi-Fi P2P连接状态用0表示。应理解,在本申请实施例中,手机A可以通过与手机B之间的第一连接,获取手机B当前的Wi-Fi P2P连接状态、手机B的Wi-Fi P2P端口的MAC地址、手机B支持的信道列表、手机B预期的连接方式等信息。
S213,大屏设备(即GO设备)中的通信模块接收到该连接请求后,会校验手机B是否为可信设备,以及判断大屏设备是否已经与手机B建立了Wi-Fi P2P连接。
S214,在确定大屏设备没有与手机B建立Wi-Fi P2P连接,大屏设备为GO设备,并且手机B是可信设备,大屏设备中的通信模块向大屏设备中的P2P链路管理模块发送申请复用Wi-Fi P2P能力的请求。可选的,该申请复用Wi-Fi P2P能力的请求可以包括大屏设备与手机A之间已经存在Wi-Fi P2P链路的指示信息。
S215,大屏设备中的P2P链路管理模块接收到该请求后,作为一种可能的实现方式,如果该申请复用Wi-Fi P2P能力的请求包括大屏设备与手机A之间已经存在Wi-Fi P2P链路的指示信息,则可以确定大屏设备可以复用Wi-Fi P2P能力。或者,作为另一种可能的实现方式,如果该申请复用Wi-Fi P2P能力的请求不包括大屏设备与手机A之间已经存在Wi-Fi P2P链路的指示信息,由于大屏设备中的通信模块已经维护了既有的连接信息,该连接信息包括:与自己连接设备(包括手机A)的Wi-Fi P2P连接状态、角色以及这些设备的地址信息、P2P群组的信息等。大屏设备中的P2P链路管理模块可以从通信模块处获取该连接信息,从而根据该连接信息,确定大屏设备与手机A之间已经存在Wi-Fi P2P链路,或者,确定大屏设备已经存与手机A之间已经存在Wi-Fi P2P链路,并且,该Wi-Fi P2P链路支持其他业务使用,则可以确定大屏设备可以复用Wi-Fi P2P能力。
进一步的,大屏设备可以维护一个引用计数,该引用计数用于指示同时利用大屏设备Wi-Fi P2P能力的业务(或者应用)的个数。在确定可以复用Wi-Fi P2P能力前,大屏设备维护的引用计数的值为1,表示大屏设备自身的Wi-Fi P2P能力承载了1个业务(手机A向大屏设备的投屏业务)。在确定可以复用Wi-Fi P2P能力后,引用计数的值加1,变为2,表示大屏设备自身的Wi-Fi P2P能力承载了2个业务(手机A向大屏设备的投屏业务以及手机A向手机B的文件分享业务)。引用计数的值变为2后,若投屏业务断开,引用计数变为1,由于引用计数不为0,因此大屏设备不会拆除P2P群组,手机A还可以正常的向手机B分享文件。只有在引用计数变为0,即投屏业务和文件分享业务均断开时,大屏设备才会拆除P2P群组。
S216,大屏设备中的P2P链路管理模块确定可以复用Wi-Fi P2P能力后,向大屏设备中的通信模块发送复用P2P能力成功的响应信息。
S217,大屏设备中的通信模块接收到该复用P2P能力成功的响应信息后,向手机A中的通信模块发送连接请求响应信息,该连接请求响应信息包括:允许手机B加入P2P群组的指示信息、手机A和大屏设备组成的P2P群组的信息、大屏设备为手机B分配的IP地址、大屏设备的MAC地址等信息。应理解,该连接请求响应信息中可以包括:允许手机B加入P2P群组的指示信息和手机A和大屏设备组成的P2P群组的信息中任意一个,而不必同时包括允许手机B加入P2P群组的指示信息、以及手机A和大屏设备组成的P2P群组的信息。可选的,该连接请求响应信息还可以包括:大屏设备已经与手机A之间存在Wi-Fi P2P连接的指示信息。
S218,手机A中的通信模块接收到该连接请求响应信息后,根据允许手机B加入P2P群组的指示信息,或者,P2P群组群组信息,确定手机B可以加入P2P群组。由于两个设备之间的Wi-Fi P2P链路是需要这两个设备共同维护的,而对Wi-Fi P2P能力的复用是针对一个设备而言的,只对某一台设备申请Wi-Fi P2P能力复用,只可以保证这台设备在业务存续期间不会主动断开Wi-Fi P2P链路,对端设备无法保证不会主动断开该Wi-Fi P2P链路,最终还是会影响到业务传输,因此,手机A中的通信模块也需要向手机A中的P2P链路管理模块发送申请复用Wi-Fi P2P能力的请求。可选的,该申请复用Wi-Fi P2P能力的请求还可以包括:大屏设备已经与手机A之间存在Wi-Fi P2P连接的指示信息。
S219,手机A中的P2P链路管理模块接收到该请求后,作为一种可能的实现方式,如果该请求中携带:大屏设备已经与手机A之间存在Wi-Fi P2P连接的指示信息,则手机A中的P2P链路管理模块可以确定手机A可以复用Wi-Fi P2P能力。或者,作为另一种可能的实现方式,如果该请求中携带:大屏设备已经与手机A之间存在Wi-Fi P2P连接的指示信息,并且,手机A中的P2P链路管理模块确定该Wi-Fi P2P链路支持其他业务使用,则可以确定手机A可以复用Wi-Fi P2P能力。或者,作为又一种可能的实现方式,如果该请求中没有携带大屏设备已经与手机A之间存在Wi-Fi P2P连接的指示信息,由于手机A中的通信模块已经维护了既有的连接信息,该连接信息包括:手机A当前的连接状态和角色(例如:手机A已经存在Wi-Fi P2P连接且角色为GC)、所连接的设备(大屏设备)的角色(为GO)以及大屏设备的MAC地址等。手机A中的P2P链路管理模块可以从通信模块处获取该连接信息,从而根据该连接信息,确定手机A与大屏设备之间已经存在Wi-Fi P2P链路(手机A和大屏设备之间投屏的Wi-FiP2P链路),或者,确定手机A当前已经存在Wi-Fi P2P链路(手机A和大屏设备之间投屏的Wi-Fi P2P链路),并且,该Wi-Fi P2P链路支持其他业务使用,则可以确定手机A可以复用Wi-FiP2P能力。
进一步的,手机A也可以维护一个引用计数,该引用计数用于指示同时利用手机AWi-Fi P2P能力的业务(或者应用)的个数。在确定可以复用Wi-Fi P2P能力前,手机A维护的引用计数的值为1,表示手机A自身的Wi-Fi P2P能力承载了1个业务(手机A向大屏设备的投屏业务)。在确定可以复用Wi-Fi P2P能力后,引用计数的值加1,变为2,表示手机A自身的Wi-Fi P2P能力承载了2个业务(手机A向大屏设备的投屏业务以及手机A向手机B的文件分享业务)。引用计数的值变为2后,若投屏业务断开,引用计数变为1,由于引用计数不为0,因此手机A不会断开该Wi-Fi P2P链路,手机A还可以正常的向手机B分享文件。只有在引用计数变为0,即投屏业务和文件分享业务均断开时,手机A才会断开该Wi-Fi P2P链路。
S220,手机A中的P2P链路管理模块确定可以复用Wi-Fi P2P能力后,向手机A中的通信模块发送复用P2P能力成功的响应信息。
S221,手机A中的通信模块接收到该响应信息后,通过第一连接向手机B中的通信模块发送Wi-Fi P2P连接请求,该Wi-Fi P2P连接请求利用加密秘钥进行加密。该Wi-Fi P2P连接请求包括:允许手机B加入P2P群组的指示信息、手机A和大屏设备组成的P2P群组的信息(例如,P2P群组的SSID、BSSID、频率、PASSWORD等)、大屏设备为手机B分配的IP地址、大屏设备的MAC地址、手机A的IP地址以及端口号信息等。其中,手机A的端口号是手机A的通信模块在Wi-Fi P2P建立后通过启动监听来获取的。应理解,该Wi-Fi P2P连接请求响应信息中可以包括:允许手机B加入P2P群组的指示信息、以及手机A和大屏设备组成的P2P群组的信息中任意一个,而不必同时包括允许手机B加入P2P群组的指示信息和手机A和大屏设备组成的P2P群组的信息。
S222,手机B中的通信模块接收到该Wi-Fi P2P连接请求响应信息并利用解密秘钥进行解密后,根据允许手机B加入P2P群组的指示信息,或者手机A和大屏设备组成的P2P群组的信息,确定可以加入P2P群组,则向手机B中的P2P链路管理模块发送加入P2P群组的请求,该请求中携带P2P群组信息以及大屏设备的MAC地址。
S223,手机B中的P2P链路管理模块根据该P2P群组信息以及大屏设备的MAC地址,通过连接接口(例如为connect接口),直接发起到大屏设备的Wi-Fi P2P连接,加入P2P群组后,手机B中的P2P链路管理模块向手机B中的通信模块发送响应信息,用于向手机B中的通信模块通知手机B加入P2P群组成功。
S224,手机B中的通信模块接收到该响应信息后,通过第一连向手机A中的通信模块发送Wi-Fi P2P连接请求响应信息,Wi-Fi P2P连接请求响应信息利用加密秘钥进行加密,该Wi-Fi P2P连接请求响应信息包括:手机B加入P2P群组成功的指示信息、大屏设备为手机B分配的IP地址以及手机B自己生成的端口号。
S225,手机A中的通信模块接收到该Wi-Fi P2P连接请求响应信息后,利用解密秘钥进行解密,确定手机B已经加入P2P群组成功。
S226,手机A中的通信模块向手机A上的第一应用发送Wi-Fi P2P连接请求响应信息,用于向手机A上的第一应用通知手机B加入P2P群组成功,该Wi-Fi P2P连接请求响应信息携带:大屏设备为手机B分配的IP地址以及手机B自己生成的端口号、手机A的IP地址以及端口号信息等。
S227,手机A上的第一应用利用:手机A的IP地址以及端口号信息,结合大屏设备为手机B分配的IP地址、以及手机B自己生成的端口号,与手机B上的第一应用(即为文件分享)建立socket传输通道。
S228,手机A上的第一应用基于socket传输通道,向手机B上的第一应用(即文件分享应用)开始文件分享。其中,文件分享业务开始后,手机A先将分享文件的数据传输至大屏设备,大屏设备再将该分享文件的数据传输给手机B,即文件分享业务的数据流为:手机A→大屏设备→手机B。投屏业务的数据流为手机A→大屏设备。
可选的,在图7和图9所示的方法中。对于手机A和大屏设备之间存在着较大的数据流量的情况,本申请实施例还可以根据不同的业务设置其对应的优先级,优先级高的业务优先传输或者占用较大的带宽传输等,进行流量限制和均衡,从而使得投屏业务和文件分享业务可以保持均衡,使得优先高的业务快速传输,进一步的提高用户体验。
在本申请实施例中,在文件分享业务和投屏业务这两个业务都完成后,才会进行P2P群组的移除,即进行GO设备以及P2P群组的拆除。换句话说,在手机A和大屏设备维护的引用计数都为0时,才进行GO设备以及P2P群组的拆除。在文件分享业务和投屏业务中任意一个完成后,手机A和大屏设备维护的引用计数均减为1,由于引用计数不为0,在这种情况下,不会进行GO设备以及P2P群组的拆除,即不会将手机A和大屏设备之间的Wi-Fi P2P链路断开。
本申请提供的Wi-Fi P2P连接的方法,P2P群组内的第一电子设备(即GC设备)和P2P群组外的第三电子设备(即空闲设备)可以使用多种发现方式相互发现,并且当P2P群组内的第一电子设备和P2P群组外的第三电子设备无法直接进行Wi-Fi P2P连接时,第三电子设备会将第一电子设备作为中介设备,协助自己加入到第一电子设备所在的P2P群组内,或者,第一电子设备将作为中介设备,协助第三电子设备加入到GC设备所在的P2P群组内。同时,P2P群组内的第一电子设备和P2P群组外的第三电子设备都可以获取对方的IP地址和端口号,建立起P2P群组内的第一电子设备和P2P群组外的第三电子设备之间的socket传输通道,从而实现二者之间基于socket传输通道的数据传输。并且对P2P群组内的第一电子设备和第二电子设备(即GO设备)设备的Wi-Fi P2P能力进行复用,第一电子设备和第二电子设备可以感知到当前自身的Wi-Fi P2P能力承载了多个业务,在多个业务都完成后,才会进行P2P群组的移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以传输完成,不同的业务之间不会相互影响。在进行数据传输时,通过P2P群组内的第二电子设备作为中转。进而实现基于Wi-Fi P2P连接的业务的传输,解决了现有技术中P2P群组内的GC设备和P2P群组外的空闲设备无法传输数据的问题,提高了用户体验。
图10所示的另一例适用于本申请实施例的通信系统的示意图。如图10所示的,该系统架构包括:第一电子设备、第二电子设备以及第三电子设备,第一电子设备和第三电子设备分别与第二电子设备之间已经建立了Wi-Fi P2P连接,换句话说,第一电子设备、第二电子设备和第三电子设备已经组成一个P2P群组,在该P2P群组内,第二电子设备为GO设备或者为AP设备,第一电子设备、第三电子设备均为GC设备。在图10所示的例子中,第一电子设备为手机A为例、第三电子设备为手机B为例,第二电子设备为大屏设备(例如为智能电视)为例。手机A和手机B均正在投屏到大屏设备,然后手机B(GC设备)需要发起到手机A(GC设备)的文件分享业务。
图11所示的为在图10示的场景中,本申请提供的一例Wi-Fi P2P连接的方法的示意性流程图。其中,手机A和手机B分别通过各自Wi-Fi P2P连接正在投屏到大屏设备。如图11示的,该方法包括:S301至S329。
S301,用户在手机B上打开第一应用(即文件管理应用),例如,如图8中的a所示的,选择需要分享的文件(例如为文件1),点击“分享”,选择分享方式为“Wi-Fi直连”,如图8中的b和c所示的。
S302,在用户点击“Wi-Fi直连”后,手机B上的第一应用向手机B中的通信模块发送发现设备请求。
S303,手机B中的通信模块接收到该发现设备请求后,启动BLE扫描、BR扫描、WLAN扫描或者Wi-Fi P2P扫描等发现设备的方式来发现设备。
S304,手机B中的通信模块扫描到设备后,将扫描到的设备列表发送给手机B上的第一应用,该设备列表中包含有一个或多个设备的设备标识。例如,显示的设备列表可以如图8中的d所示的。
S305,用户在手机B上的第一应用上选择设备列表中的手机A的设备标识,该手机A的设备标识可以为手机A的设备型号、标识码、设备名称、设备ID(device ID)等。手机A的设备标识用于唯一标识该手机A。
S306,手机B上的第一应用向手机B中的通信模块发送Wi-Fi P2P连接请求。
S307,手机B中的通信模块接收到该Wi-Fi P2P连接请求后,首先和手机A中的通信模块建立第一连接。例如,该第一连接可以为BLE连接、蓝牙连接、Wi-Fi连接等。本申请实施例在此不作限制。
S308,手机B中的通信模块和手机A中的通信模块基于第一连接进行秘钥的协商,得到加密秘钥和解密秘钥,从而完成基于第一连接的安全认证。
S309,手机B中的通信模块存储该加密秘钥和解密秘钥。
S310,手机A中的通信模块存储该加密秘钥和解密秘钥。
S311,由于手机B在与大屏设备建立Wi-Fi P2P连接后,手机B中的通信模块会收到FRAMEWORK层上报的连接状态变化通知,该通知携带着基本的连接信息,因此手机B的通信模块里已经维护了既有的连接信息,该连接信息包括:手机B当前的Wi-Fi P2P连接状态和角色(例如:手机B已经存在Wi-Fi P2P连接且角色为GC,该信息可以用2表示)、所连接的设备(大屏设备)的角色(为GO)以及大屏设备的MAC地址、标识等。而对于大屏设备而言,大屏设备中的通信模块也会收到FRAMEWORK层上报的连接状态变化通知,该通知携带着基本的连接信息,由于大屏设备为GO角色,因此,该连接信息除了包括与自己(大屏设备)连接的设备(包括手机A和手机B)的Wi-Fi P2P连接状态、角色以及设备的地址信息外,还包括该P2P群组的信息。在本申请实施例中,该P2P群组信息包括:该P2P群组的SSID、BSSID、频率、密码(PASSWORD)中至少一种。因此,手B中的通信模块根据连接信息,确定手机B已经为GC,进而确定手机B不能与手机A之间直接建立Wi-Fi P2P连接。
S312,手机B中的通信模块通过第一连接向手机A中的通信模块发送Wi-Fi P2P连接请求,该Wi-Fi P2P连接请求通过加密秘钥进行加密,该Wi-Fi P2P连接请求包括:手机B的设备标识、手机B当前的Wi-Fi P2P连接状态、手机B的Wi-Fi P2P端口的MAC地址、手机B支持的信道列表(例如为支持36信道,对应5180MHz)、手机B连接的Wi-Fi热点的频率、是否支持宽频(例如是否支持160MHz,如果支持可以用true表示,如果不支持可以用false表示)、手机B所连接的GO设备的标识等信息。例如,手机B当前的Wi-Fi P2P连接状态包括:手机B当前没有与任何设备之间存在Wi-Fi P2P连接的状态,该连接状态可以用0表示;手机B当前与其他设备之间存在Wi-Fi P2P连接,且手机B的角色为GO的状态,该连接状态可以用1表示;手机B当前与其他设备之间存在Wi-Fi P2P连接,且手机B的角色为GC的状态,该连接状态可以用2表示。在本实施例中,手机B当前存在Wi-Fi P2P连接且手角色为GC的状态,手机B当前的Wi-Fi P2P连接状态用2表示。
S313,手机A中的通信模块接收到该连接请求后,利用解密秘钥进行解密,获取连接请求包括的内容。由于手机A在与大屏设备建立Wi-Fi P2P连接后,手机A中的通信模块会收到FRAMEWORK层上报的连接状态变化通知,该通知携带着基本的连接信息,该连接信息包括:手机A当前的连接状态和角色(例如:手机A已经存在Wi-Fi P2P连接且角色为GC,该信息可以用2表示)、所连接的设备(大屏设备)的角色(为GO)以及大屏设备的MAC地址、标识等。进一步的,手机A中的通信模块确定手机B所连接的GO设备的标识与自己所连接的GO设备的标识是否相同。
S314,在手机B所连接的GO设备的标识与自己所连接的GO设备的标识相同的情况下,手机A中的通信模块可以确定手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接。进一步的,手机A中的通信模块向手机A中的P2P链路管理模块发送申请复用Wi-Fi P2P能力的请求。可选的,该申请复用Wi-Fi P2P能力的请求还可以包括:手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息。
S315,手机A中的P2P链路管理模块接收到该请求后,作为一种可能的实现方式,如果该请求中携带:手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息,手机A中的P2P链路管理模块便可以确定手机A和手机B分别与大屏设备之间存在Wi-Fi P2P连接,则手机A中的P2P链路管理模块确定可以复用Wi-Fi P2P能力。或者,作为另一种可能的实现方式,如果该请求中携带:手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息,并且,这两个Wi-Fi P2P连接分别均支持其他业务使用,则手机A中的P2P链路管理模块确定可以复用Wi-Fi P2P能力。或者,作为再一种可能的实现方式,如果该请求中没有携带手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息,由于手机A中的通信模块已经存储了既有的连接信息,该连接信息包括:手机A当前的连接状态和角色(例如:手机A已经存在Wi-Fi P2P连接且角色为GC)、所连接的设备(大屏设备)的角色(为GO)以及大屏设备的MAC地址等。手机A中的P2P链路管理模块可以从通信模块处获取该连接信息,从而根据该连接信息,结合手机B所连接的GO设备的标识,确定手机B所连接的GO设备的标识与自己所连接的GO设备的标识相同,则可以确定手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接,则手机A中的P2P链路管理模块确定手机A可以复用Wi-Fi P2P能力。
进一步的,手机A也可以维护一个引用计数,该引用计数用于指示同时利用手机AWi-Fi P2P能力的业务(或者应用)的个数。在确定可以复用Wi-Fi P2P能力前,手机A维护的引用计数的值为1,表示手机A自身的Wi-Fi P2P能力承载了1个业务(手机A向大屏设备的投屏业务)。在确定可以复用Wi-Fi P2P能力后,引用计数的值加1,变为2,表示手机A自身的Wi-Fi P2P能力承载了2个业务(手机A向大屏设备的投屏业务以及手机B向手机A的文件分享业务)。引用计数的值变为2后,若投屏业务断开,引用计数变为1,由于引用计数不为0,因此手机A不会断开手机A和大屏设备之间的Wi-Fi P2P链路,手机B还可以正常的向手机A分享文件。只有在引用计数变为0,即投屏业务和文件分享业务均断开时,手机A才会断开该Wi-Fi P2P链路。
S316,手机A中的P2P链路管理模块确定可以复用Wi-Fi P2P能力后,向手机A中的通信模块发送复用P2P能力成功的响应信息。
S317,手机A中的通信模块接收到该响应信息后,向大屏设备中的通信模块发送Wi-Fi P2P连接请求,该Wi-Fi P2P连接请求信息用于请求:手机A与手机B之间通过Wi-FiP2P连接传输第一应用数据的授权。该Wi-Fi P2P连接请求信息包括:手机B的设备标识、手机B的Wi-Fi P2P端口的MAC地址、手机B的IP地址以及端口号、手机B所连接的GO设备的标识等信息中的至少一个。
S318,大屏设备中的通信模块接收到该Wi-Fi连接请求后,会对手机B进行校验。例如,会校验手机B是否为可信设备,以及判断大屏设备是否已经与手机B建立了Wi-Fi P2P连接。
S319,由于两个设备之间的Wi-Fi P2P链路(或者Wi-Fi P2P连接)是需要这两个设备共同维护的,而对Wi-Fi P2P能力的复用是针对一个设备而言的,只对某一台设备申请Wi-Fi P2P能力复用,只可以保证这台设备在业务存续期间不会主动断开Wi-Fi P2P链路,对端设备无法保证不会主动断开该Wi-Fi P2P链路,最终还是会影响到业务传输。因此,在确定大屏设备是GO设备、手机B是可信设备(例如,手机B和大屏设备登录的是同一个账号,或者手机B与大屏设备通过各种方式(例如通过二维码扫描等)进行过设备绑定),以及大屏设备已经与手机B建立了Wi-Fi P2P连接后,大屏设备中的通信模块也会向大屏设备中的P2P链路管理模块发送申请复用Wi-Fi P2P能力的请求。可选的,该复用Wi-Fi P2P能力的请求可以包括:大屏设备分别与手机B和手机A之间已经存在Wi-Fi P2P链路的指示信息。
S320,大屏设备中的P2P链路管理模块接收到该请求后,作为一种可能的实现方式,如果该复用Wi-Fi P2P能力的请求包括:大屏设备分别与手机B和手机A之间已经存在Wi-Fi P2P链路的指示信息,则大屏设备中的P2P链路管理模块可以确定大屏设备可以复用Wi-Fi P2P能力。或者,作为另一种可能的实现方式,如果该复用Wi-Fi P2P能力的请求不包括大屏设备分别与手机B和手机A之间已经存在Wi-Fi P2P链路的指示信息,由于大屏设备中的通信模块已经存储了既有的连接信息,该连接信息包括:与自己连接设备(包括手机B和手机A)的Wi-Fi P2P连接状态、角色以及这些设备的地址信息、P2P群组的信息等。大屏设备中的P2P链路管理模块可以从通信模块处获取该连接信息,从而根据该连接信息,确定大屏设备分别与手机B和手机A之间已经存在Wi-Fi P2P链路,或者,确定大屏设备分别与手机A之间已经存在Wi-Fi P2P链路,并且,这两个Wi-Fi P2P链路支持其他业务使用,则可以确定大屏设备可以复用Wi-Fi P2P能力。
进一步的,大屏设备可以维护一个引用计数,该引用计数用于指示同时利用大屏设备Wi-Fi P2P能力的业务(或者应用)的个数。在确定可以复用Wi-Fi P2P能力前,大屏设备维护的引用计数的值为2,表示大屏设备自身的Wi-Fi P2P能力承载了2个业务(手机A和手机B分别向大屏设备的投屏业务)。在确定可以复用Wi-Fi P2P能力后,引用计数的值加1,变为3,表示大屏设备自身的Wi-Fi P2P能力承载了3个业务(手机A和手机B分别向大屏设备的投屏业务、以及手机B向手机A的文件分享业务)。引用计数的值变为3后,若两个投屏业务均断开,引用计数变为1,由于引用计数不为0,因此大屏设备不会拆除P2P群组,手机B还可以正常的向手机A分享文件。只有在引用计数变为0,即两个投屏业务和一个文件分享业务均断开时,大屏设备才会拆除P2P群组。
S321,大屏设备中的P2P链路管理模块确定可以复用Wi-Fi P2P能力后,向大屏设备中的通信模块发送复用P2P能力成功的响应信息。
S322,大屏设备中的通信模块接收到该响应信息后,向手机A中的通信模块发送Wi-Fi P2P连接响应信息,该连接响应信息包括:P2P群组信息。可选的,该连接响应信息还可以包括:手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息。在本申请实施例中,该P2P群组信息包括:P2P群组的SSID、BSSID、频率、密码(PASSWORD)中至少一种。
S323,手机A中的通信模块接收到该Wi-Fi P2P连接响应信息后,根据P2P群组信息,确定可以与手机B之间通过Wi-Fi P2P连接传输第一应用的数据。手机A中的通信模块通过第一连接向手机B中的通信模块发送Wi-Fi P2P连接响应信息,该Wi-Fi P2P连接信息通过加密秘钥进行加密。该Wi-Fi P2P连接信息包括:手机A的IP地址以及端口号信息、手机A所连接的GO设备的标识等信息。可选的,该Wi-Fi P2P连接信息还可以包括:手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息。
S324,手机B中的通信模块接收到该Wi-Fi P2P连接信息后,利用解密秘钥进行解密,获取该Wi-Fi P2P连接信息的内容后,作为一种可能的实现方式,如果该Wi-Fi P2P连接信息包括手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息,手机B中的通信模块根据手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息,确定可以与手机A之间通过Wi-Fi P2P连接传输第一应用的数据。或者,作为另一种可能的实现方式,如果该Wi-Fi P2P连接信息不包括手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息,在手机A所连接的GO设备的标识与自己所连接的GO设备的标识相同的情况下,手机B中的通信模块可以确定手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接,从而确定可以与手机A之间通过Wi-Fi P2P连接传输第一应用的数据。
由于两个设备之间的Wi-Fi P2P链路(或者Wi-Fi P2P连接)是需要这两个设备共同维护的,只对某一台设备申请Wi-Fi P2P能力复用,只可以保证这台设备在业务存续期间不会主动断开Wi-Fi P2P链路,对端设备无法保证不会主动断开该Wi-Fi P2P链路,最终还是会影响到业务传输,因此,手机B中的通信模块也会向手机B中的P2P链路管理模块发送申请复用Wi-Fi P2P能力的请求。可选的,该申请复用Wi-Fi P2P能力的请求还可以包括:手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息。
S325,手机B中的P2P链路管理模块接收到该请求后,作为一种可能实现方式,如果该请求中携带:手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息,手机B中的P2P链路管理模块便可以确定手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接,则手机B中的P2P链路管理模块确定可以复用Wi-Fi P2P能力。或者,作为另一种可能的实现方式,如果该请求中携带:手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息,并且,这两个Wi-Fi P2P连接分别均支持其他业务使用,则手机B中的P2P链路管理模块确定可以复用Wi-Fi P2P能力。或者,作为再一种可能的实现方式,如果该请求中没有携带手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息。由于手机B中通信模块中已经存储了既有的连接信息,该连接信息包括:手机B当前的连接状态和角色(例如:手机B已经存在Wi-Fi P2P连接且角色为GC)、所连接的设备(大屏设备)的角色(为GO)以及大屏设备的MAC地址等。手机B中的P2P链路管理模块可以从通信模块处获取该连接信息,确定手机B所连接的GO设备的标识与自己所连接的GO设备的标识相同,即可以确定手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接,则手机B中的P2P链路管理模块确定手机B可以复用Wi-Fi P2P能力。
进一步的,手机B也可以维护一个引用计数,该引用计数用于指示同时利用手机BWi-Fi P2P能力的业务(或者应用)的个数。在确定可以复用Wi-Fi P2P能力前,手机B维护的引用计数的值为1,表示手机B自身的Wi-Fi P2P能力承载了1个业务(手机B向大屏设备的投屏业务)。在确定可以复用Wi-Fi P2P能力后,引用计数的值加1,变为2,表示手机B自身的Wi-Fi P2P能力承载了2个业务(手机B向大屏设备的投屏业务以及手机B向手机A的文件分享业务)。引用计数的值变为2后,若投屏业务断开,引用计数变为1,由于引用计数不为0,因此手机B不会断开手机B和大屏设备之间的Wi-Fi P2P链路,手机B还可以正常的向手机A分享文件。只有在引用计数变为0,即投屏业务和文件分享业务均断开时,手机B才会断开该Wi-Fi P2P链路。
S326,手机B中的P2P链路管理模块确定可以复用Wi-Fi P2P能力后,向手机B中的通信模块发送复用P2P能力成功的响应信息。
S327,手机B中的通信模块接收到该响应信息后,向手机B上的第一应用发送Wi-FiP2P连接请求响应信息,该Wi-Fi P2P连接请求响应信息包括:手机B与手机A之间可以通过Wi-Fi P2P连接传输第一应用的数据的指示信息、手机A的IP地址以及端口号、手机B自己生成的端口号信息等。
S328,手机B上的第一应用利用手机A的IP地址以及端口号信息,结合手机B的IP地址以及手机B自己生成的端口号等信息等,与手机A上的第一应用(例如为文件分享)建立socket传输通道。
S329,手机B上的第一应用基于socket传输通道,向手机A上的第一应用开始文件分享。其中,文件分享业务开始后,手机B先将分享文件的数据传输至大屏设备,大屏设备再将该分享文件的数据传输给手机A,即文件分享业务的数据流为:手机B→大屏设备→手机A。手机A的投屏业务的数据流为手机A→大屏设备,手机B投屏业务的数据流为手机B→大屏设备。
可选的,作为另外一种可能实现方式,图12所示的为在图10所示的场景中,本申请提供的另一例Wi-Fi P2P连接的方法的示意性流程图。其中,手机A和手机B分别通过各自Wi-Fi P2P连接正在投屏到大屏设备。如图12所示的,该方法包括:S401至S429。
S401,用户在手机B上打开第一应用(即文件管理应用),例如,如图8中的a所示的,选择需要分享的文件(例如为文件1),点击“分享”,选择分享方式为“Wi-Fi直连”,如图8中的b和c所示的。
S402,在用户点击“Wi-Fi直连”后,手机B上的第一应用向手机B中的通信模块发送发现设备请求。
S403,手机B中的通信模块接收到该发现设备请求后,启动BLE扫描、BR扫描、WLAN扫描或者Wi-Fi P2P扫描等发现设备的方式来发现设备。
S404,手机B中的通信模块扫描到设备后,将扫描到的设备列表发送给手机B上的第一应用,该设备列表中包含有一个或多个设备的设备标识。例如,显示的设备列表可以如图8中的d所示的。
S405,用户在手机B上的第一应用上选择设备列表中的手机A的设备标识,该手机A的设备标识可以为手机A的设备型号、标识码、设备名称、设备ID(device ID)等。手机A的设备标识用于唯一标识该手机A。
S406,手机B上的第一应用向手机B中的通信模块发送Wi-Fi P2P连接请求。
S407,手机B中的通信模块接收到该Wi-Fi P2P连接请求后,首先和手机A中的通信模块建立第一连接。例如,该第一连接可以为BLE连接、蓝牙连接、Wi-Fi连接等。本申请实施例在此不作限制。
S408,手机B中的通信模块和手机A中的通信模块基于第一连接进行秘钥的协商,得到加密秘钥和解密秘钥,从而完成基于第一连接的安全认证。
S409,手机B中的通信模块存储该加密秘钥和解密秘钥。
S410,手机A中的通信模块存储该加密秘钥和解密秘钥。
S411,由于手机B在与大屏设备建立Wi-Fi P2P连接后,手机B中的通信模块会收到FRAMEWORK层上报的连接状态变化通知,该通知携带着基本的连接信息,因此手机B的通信模块里已经维护了既有的连接信息,该连接信息包括:手机B当前的Wi-Fi P2P连接状态和角色(例如:手机B已经存在Wi-Fi P2P连接且角色为GC,该信息可以用2表示)、所连接的设备(大屏设备)的角色(为GO)以及大屏设备的MAC地址、标识等。而对于大屏设备而言,大屏设备中的通信模块也会收到FRAMEWORK层上报的连接状态变化通知,该通知携带着基本的连接信息,由于大屏设备为GO角色,因此,该连接信息除了包括与自己(大屏设备)连接的设备(包括手机A和手机B)的Wi-Fi P2P连接状态、角色以及设备的地址信息外,还包括该P2P群组的信息。在本申请实施例中,该P2P群组信息包括:该P2P群组的SSID、BSSID、频率、密码(PASSWORD)中至少一种。因此,手B中的通信模块根据连接信息,确定手机B已经为GC,进而确定手机B不能与手机A之间直接建立Wi-Fi P2P连接。
S412,手机B中的通信模块向大屏设备中的通信模块发送连接请求,该连接请求包括:手机A的设备标识、手机A的Wi-Fi P2P端口的MAC地址、手机A的IP地址信息的至少一种。该连接请求用于请求:请求手机A与手机B之间通过Wi-Fi P2P连接传输第一应用数据。应理解,在本申请实施例中,手机B可以通过与手机A之间的第一连接,获取手机A的Wi-Fi P2P端口的MAC地址、手机A的IP地址等信息。
S413,大屏设备中的通信模块接收到该连接请求后,会对手机A进行校验。例如,会校验手机A是否为可信设备,以及判断大屏设备是否已经与手机A建立了连接。
S414,在确定大屏设备是GO设备、手机A是可信设备(例如,手机A和大屏设备登录的是同一个账号,或者手机A与大屏设备通过各种方式(例如通过二维码扫描等)进行过设备绑定),以及大屏设备已经与手机A建立了Wi-Fi P2P连接后,大屏设备中的通信模块向大屏设备中的P2P链路管理模块发送申请复用Wi-Fi P2P能力的请求。可选的,该复用Wi-FiP2P能力的请求可以包括:大屏设备分别与手机B和手机A之间已经存在Wi-Fi P2P链路的指示信息。
S415,大屏设备中的P2P链路管理模块接收到该请求后,大屏设备中的P2P链路管理模块接收到该请求后,作为一种可能的实现方式,如果该复用Wi-Fi P2P能力的请求包括:大屏设备分别与手机B和手机A之间已经存在Wi-Fi P2P链路的指示信息,则大屏设备中的P2P链路管理模块可以确定大屏设备可以复用Wi-Fi P2P能力。或者,作为另一种可能的实现方式,如果该复用Wi-Fi P2P能力的请求不包括大屏设备分别与手机B和手机A之间已经存在Wi-Fi P2P链路的指示信息,由于大屏设备中的通信模块已经存储了既有的连接信息,该连接信息包括:与自己连接设备(包括手机B和手机A)的Wi-Fi P2P连接状态、角色以及这些设备的地址信息、P2P群组的信息等。大屏设备中的P2P链路管理模块可以从通信模块处获取该连接信息,从而根据该连接信息,确定大屏设备分别与手机B和手机A之间已经存在Wi-Fi P2P链路,或者,确定大屏设备分别与手机A之间已经存在Wi-Fi P2P链路,并且,这两个Wi-Fi P2P链路支持其他业务使用,则可以确定大屏设备可以复用Wi-Fi P2P能力。
进一步的,大屏设备可以维护一个引用计数,该引用计数用于指示同时利用大屏设备Wi-Fi P2P能力的业务(或者应用)的个数。在确定可以复用Wi-Fi P2P能力前,大屏设备维护的引用计数的值为2,表示大屏设备自身的Wi-Fi P2P能力承载了2个业务(手机A和手机B分别向大屏设备的投屏业务)。在确定可以复用Wi-Fi P2P能力后,引用计数的值加1,变为3,表示大屏设备自身的Wi-Fi P2P能力承载了3个业务(手机A和手机B分别向大屏设备的投屏业务、以及手机B向手机A的文件分享业务)。引用计数的值变为3后,若两个投屏业务均断开,引用计数变为1,由于引用计数不为0,因此大屏设备不会拆除P2P群组,手机B还可以正常的向手机A分享文件。只有在引用计数变为0,即两个投屏业务和一个文件分享业务均断开时,大屏设备才会拆除P2P群组。
S416,大屏设备中的P2P链路管理模块确定可以复用Wi-Fi P2P能力后,向大屏设备中的通信模块发送复用P2P能力成功的响应信息。
S417,大屏设备中的通信模块接收到该响应信息后,向手机B中的通信模块发送连接请求响应信息,该连接请求响应信息包括:允许手机A与手机B之间通过Wi-Fi P2P连接传输第一应用的数据的指示信息以及P2P群组信息以及手机A所连接的GO设备的标识。可选的,该连接请求响应信息还包括:手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息。在本申请实施例中,该P2P群组信息包括:P2P群组的SSID、BSSID、频率、密码(PASSWORD)中至少一种。
S418,手机B中的通信模块接收到该连接请求响应信息后,根据允许手机A与手机B之间通过Wi-Fi P2P连接传输第一应用的数据的指示信息,确定可以与手机B之间通过Wi-Fi P2P连接传输第一应用的数据。由于两个设备之间的Wi-Fi P2P链路(或者Wi-Fi P2P连接)是需要这两个设备共同维护的,而对Wi-Fi P2P能力的复用是针对一个设备而言的,只对某一台设备申请Wi-Fi P2P能力复用,只可以保证这台设备在业务存续期间不会主动断开Wi-Fi P2P链路,对端设备无法保证不会主动断开该Wi-Fi P2P链路,最终还是会影响到业务传输。因此,手机B中的通信模块也会向手机B中的P2P链路管理模块发送申请复用Wi-Fi P2P能力的请求。复用Wi-Fi P2P能力的请求包括手机A所连接的GO设备的标识。可选的,该申请复用Wi-Fi P2P能力的请求还可以包括:手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息。
S419,手机B中的P2P链路管理模块接收到该请求后,作为一种可能实现方式,如果该请求中携带:手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息,手机B中的P2P链路管理模块便可以确定手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接,则手机B中的P2P链路管理模块确定可以复用Wi-Fi P2P能力。或者,作为另一种可能的实现方式,如果该请求中携带:手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息,并且,这两个Wi-Fi P2P连接分别均支持其他业务使用,则手机B中的P2P链路管理模块确定可以复用Wi-Fi P2P能力。或者,作为再一种可能的实现方式,如果该请求中没有携带手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息。由于手机B中的通信模块已经存储了既有的连接信息,该连接信息包括:手机B当前的连接状态和角色(例如:手机B已经存在Wi-Fi P2P连接且角色为GC)、所连接的设备(大屏设备)的角色(为GO)以及大屏设备的MAC地址等。手机B中的P2P链路管理模块可以从通信模块处获取该连接信息,从而根据该连接信息,确定手机A所连接的GO设备的标识与自己所连接的GO设备的标识相同,手机B中的通信模块可以确定手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接,则手机B中的P2P链路管理模块确定手机B可以复用Wi-Fi P2P能力。
进一步的,手机B也可以维护一个引用计数,该引用计数用于指示同时利用手机BWi-Fi P2P能力的业务(或者应用)的个数。在确定可以复用Wi-Fi P2P能力前,手机B维护的引用计数的值为1,表示手机B自身的Wi-Fi P2P能力承载了1个业务(手机B向大屏设备的投屏业务)。在确定可以复用Wi-Fi P2P能力后,引用计数的值加1,变为2,表示手机B自身的Wi-Fi P2P能力承载了2个业务(手机B向大屏设备的投屏业务以及手机B向手机A的文件分享业务)。引用计数的值变为2后,若投屏业务断开,引用计数变为1,由于引用计数不为0,因此手机B不会断开手机B和大屏设备之间的Wi-Fi P2P链路,手机B还可以正常的向手机A分享文件。只有在引用计数变为0,即投屏业务和文件分享业务均断开时,手机B才会断开该Wi-Fi P2P链路。
S420,手机B中的P2P链路管理模块确定可以复用Wi-Fi P2P能力后,向手机B中的通信模块发送复用P2P能力成功的响应信息。
S421,手机B中的通信模块接收到该响应信息后,通过第一连接向手机A中的通信模块发送Wi-Fi P2P连接请求,该Wi-Fi P2P连接请求响应信息通过加密秘钥进行加密。该Wi-Fi P2P连接请求:P2P群组信息、手机B所连接的GO设备的标识。可选的,该Wi-Fi P2P连接还可以包括:手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息。
S422,手机A中的通信模块接收到该Wi-Fi P2P连接请求后,利用解密秘钥进行解密,获取Wi-Fi P2P连接请求包括的内容,并确定手机B所连接的GO设备的标识与自己所连接的GO设备的标识是否相同。作为一种可能的实现方式,如果该Wi-Fi P2P连接信息包括手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息,手机B中的通信模块根据手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息,确定可以与手机A之间通过Wi-Fi P2P连接传输第一应用的数据。或者,作为另一种可能的实现方式,如果该Wi-FiP2P连接信息不包括手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息,在手机A所连接的GO设备的标识与自己所连接的GO设备的标识相同的情况下,手机B中的通信模块可以确定手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接,从而确定可以与手机A之间通过Wi-Fi P2P连接传输第一应用的数据。
S423,在确定手机B可以与手机A之间通过Wi-Fi P2P连接传输第一应用的数据后。由于两个设备之间的Wi-Fi P2P链路(或者Wi-Fi P2P连接)是需要这两个设备共同维护的,只对某一台设备申请Wi-Fi P2P能力复用,只可以保证这台设备在业务存续期间不会主动断开Wi-Fi P2P链路,对端设备无法保证不会主动断开该Wi-Fi P2P链路,最终还是会影响到业务传输,因此,手机A中的通信模块也会向手机A中的P2P链路管理模块发送申请复用Wi-Fi P2P能力的请求。该复用Wi-Fi P2P能力的请求还可以包括:手机B所连接的GO设备的标识和手机A所连接的GO设备的标识相同的指示信息、或者,手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息、手机B所连接的GO设备的标识中的至少一个。
S424,手机A中的P2P链路管理模块接收到该请求后,作为一种可能的实现方式,如果该请求中携带:手机B所连接的GO设备的标识与手机A所连接的GO设备的标识相同的指示信息,或者,手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息,手机A中的P2P链路管理模块便可以确定手机A和手机B分别与大屏设备之间存在Wi-Fi P2P连接,则手机A中的P2P链路管理模块确定可以复用Wi-Fi P2P能力。或者,作为另一种可能的实现方式,如果该请求中携带:手机B所连接的GO设备的标识与手机A所连接的GO设备的标识相同的指示信息,或者,手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息,并且,这两个Wi-Fi P2P连接分别均支持其他业务使用,则手机A中的P2P链路管理模块确定可以复用Wi-Fi P2P能力。或者,作为再一种可能的实现方式,如果该请求中没有携带手机B所连接的GO设备的标识与手机A所连接的GO设备的标识相同的指示信息,或者手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接的指示信息。由于手机A中的通信模块中已经存储了既有的连接信息,该连接信息包括:手机A当前的连接状态和角色(例如:手机A已经存在Wi-Fi P2P连接且角色为GC)、所连接的设备(大屏设备)的角色(为GO)以及大屏设备的MAC地址等。手机A中的P2P链路管理模块可以从通信模块处获取该连接信息,从而根据该连接信息,确定手机B所连接的GO设备的标识与自己所连接的GO设备的标识相同,则可以确定手机B和手机A分别与大屏设备之间存在Wi-Fi P2P连接,手机B中的P2P链路管理模块确定手机B可以复用Wi-Fi P2P能力。
进一步的,手机A也可以维护一个引用计数,该引用计数用于指示同时利用手机AWi-Fi P2P能力的业务(或者应用)的个数。在确定可以复用Wi-Fi P2P能力前,手机A维护的引用计数的值为1,表示手机A自身的Wi-Fi P2P能力承载了1个业务(手机A向大屏设备的投屏业务)。在确定可以复用Wi-Fi P2P能力后,引用计数的值加1,变为2,表示手机A自身的Wi-Fi P2P能力承载了2个业务(手机A向大屏设备的投屏业务以及手机B向手机A的文件分享业务)。引用计数的值变为2后,若投屏业务断开,引用计数变为1,由于引用计数不为0,因此手机A不会断开手机A和大屏设备之间的Wi-Fi P2P链路)手机B还可以正常的向手机A分享文件。只有在引用计数变为0,即投屏业务和文件分享业务均断开时,手机A才会断开该Wi-Fi P2P链路。
S425,手机A中的P2P链路管理模块确定可以复用Wi-Fi P2P能力后,向手机A中的通信模块发送复用P2P能力成功的响应信息。
S426,手机A中的通信模块接收到该响应信息后,向手机B中的通信模块发送Wi-FiP2P连接请求响应信息,该Wi-Fi P2P连接请求响应信息通过加密秘钥进行加密。该Wi-FiP2P连接请求响应信息包括:允许手机A与手机B之间通过Wi-Fi P2P连接传输第一应用的数据的指示信息、手机A的IP地址以及端口号信息等。
S427,手机B中的通信模块收到该Wi-Fi P2P连接请求响应信息后,向手机B上的第一应用发送Wi-Fi P2P连接请求响应信息,该Wi-Fi P2P连接请求响应信息包括:允许手机A与手机B之间通过Wi-Fi P2P连接传输第一应用的数据的指示信息、手机A的IP地址以及端口号信息、手机B自己生成的端口号等。
S428,手机B上的第一应用利用手机A的IP地址以及端口号信息、结合手机B的IP地址以及手机B自己生成的端口号等信息,与手机A上的第一应用(例如为文件分享)建立socket传输通道。
S429,手机B上的第一应用基于socket传输通道,向手机A上的第一应用开始文件分享。其中,文件分享业务开始后,手机B先将分享文件的数据传输至大屏设备,大屏设备再将该分享文件的数据传输给手机A,即文件分享业务的数据流为:手机B→大屏设备→手机A。投屏业务的数据流为手机A→大屏设备以及手机B→大屏设备。
在本申请实施例中,在一个文件分享业务和两个投屏业务这三个业务都完成后,即大屏设备维护的引用计数为0的情况下,才会进行P2P群组以及GO设备的移除。在一个文件分享业务和两个投屏业务中任意一个完成后,手机A、手机B以及大屏设备维护的引用计数均减为1,由于引用计数不为0,在这种情况下,不会进行GO设备以及P2P群组的拆除。
本申请提供的Wi-Fi P2P连接的方法,P2P群组内的第一电子设备(GC设备)和第三电子设备(另一个GC设备)之间可以使用多种发现方式相互发现,并且当P2P群组内的第一电子设备和第三电子设备无法直接进行Wi-Fi P2P连接时,第一电子设备将P2P群组内的第二电子设备(GO设备)作为中介设备,协助自己和第三电子设备建立socket传输通道,从而形成二者互通的基础。同时P2P群组内的第一电子设备和第三电子设备之间可以获取对方的IP地址和端口号,从而实现二者之间基于socket传输通道的数据传输。并且对第一电子设备、第二电子设备以及第三电子设备的Wi-Fi P2P能力进行复用,第一电子设备、第二电子设备以及第三电子设备可以感知到当前自身的Wi-Fi P2P能力承载了多个业务,在多个业务都完成后,才会进行P2P群组移除以及Wi-Fi P2P连接的断开,从而保证了不同的业务均可以正常的传输,不同的业务之间不会相互影响。在进行数据传输时,通过P2P群组内的第二电子设备作为中转。进而实现基于Wi-Fi P2P连接的业务的传输,解决了现有技术中P2P群组内的两个GC设备之间无法传输数据的问题,提高了用户体验。
图13所示的另一例适用于本申请实施例的通信系统的示意图。如图13所示的,该系统架构包括:第一电子设备、第二电子设备以及第四电子设备,其中,第二电子设备和第一电子设备之间已经建立了Wi-Fi P2P连接,换句话说,第二电子设备和第一电子设备已经组成一个P2P群组,在该P2P群组内,第二电子设备为GO设备或者为AP设备,第一电子设备为GC设备。第四电子设备为该P2P群组外的一个空闲设备,第四电子设备和其他设备之间没有Wi-Fi P2P连接。在图13所示的例子中,第四电子设备为手机C为例、第一电子设备为手机A为例,第二电子设备为大屏设备(例如为智能电视)为例。手机A正在投屏到大屏设备,然后手机C(空闲设备)需要发起到大屏设备的文件分享。手机A与大屏设备投屏是使用的Wi-FiP2P链路。
图14所示的为在图13所示的场景中,本申请提供的一例Wi-Fi P2P连接的方法的示意性流程图。如图14所示的,该方法包括:S501至S522。
S501,手机A与大屏设备已经基于建立的Wi-Fi P2P连接进行第二应用(即投屏应用)业务数据的传输。
S502,用户在手机C上打开第一应用(即文件管理应用),例如,如图8中的a所示的,选择需要分享的文件(例如为文件1),点击“分享”,选择分享方式为“Wi-Fi直连”,如图8中的b和c所示的。
S503,在用户点击“Wi-Fi直连”后,手机C上的第一应用向手机C中的通信模块发送发现设备请求。
S504,手机C中的通信模块接收到该发现设备请求后,启动BLE扫描、BR扫描、WLAN扫描或者Wi-Fi P2P扫描等发现设备的方式来发现设备。
S505,手机C中的通信模块扫描到设备后,将扫描到的设备列表发送给手机C上的第一应用,该设备列表中包含有一个或多个设备的设备标识。例如,显示的设备列表可以如图8中的d所示的。
S506,用户在手机C上的第一应用上选择设备列表中的大屏设备的设备标识,该大屏设备的设备标识可以为大屏设备的设备型号、标识码、设备名称、设备ID(device ID)等。大屏设备的设备标识用于唯一标识该大屏设备。
S507,用户在设备列表中点击大屏设备的设备标识后,手机C上的第一应用会向手机C中的通信模块发送Wi-Fi P2P连接请求。
S508,手机C中的通信模块接收到该Wi-Fi P2P连接请求后,首先和大屏设备中的通信模块建立第一连接的请求。例如,该第一连接可以为BLE连接、BR连接、Wi-Fi连接等。本申请实施例在此不作限制。
S509,手机C中的通信模块和大屏设备中的通信模块基于第一连接进行秘钥的协商,得到加密秘钥和解密秘钥,从而完成基于第一连接的安全认证。
S510,手机C中的通信模块存储该加密秘钥和解密秘钥。
S511,大屏设备中的通信模块存储该加密秘钥和解密秘钥。
S512,手机C中的通信模块通过第一连接向大屏设备中的通信模块发送Wi-Fi P2P连接请求。该Wi-Fi P2P连接请求利用加密秘钥进行加密。该Wi-Fi P2P连接请求包括:手机C的设备信息(例如设备ID等)、手机C当前的Wi-Fi P2P连接状态(手机C当前的Wi-Fi P2P连接状态包括:手机C当前没有与任何设备之间存在Wi-Fi P2P连接的状态,该连接状态可以用0表示;手机C当前与其他设备之间存在Wi-Fi P2P连接,且手机C的角色为GO的状态,该连接状态可以用1表示;手机C当前与其他设备之间存在Wi-Fi P2P连接,且手机C的角色为GC的状态,该连接状态可以用2表示。在本实施例中,手机C当前无Wi-Fi P2P连接,手机C当前的Wi-Fi P2P连接状态用0表示)、手机C的Wi-Fi P2P端口的MAC地址、手机C支持的信道列表(例如为支持36信道,对应5180MHz)、手机C预期的连接方式(例如手机C期望以GC的身份建立Wi-Fi P2P连接,或者手机C期望以GO的身份建立Wi-Fi P2P连接,在本实施例中,手机C期望是以GC的身份建立Wi-Fi P2P连接)、手机C连接的Wi-Fi热点的频率、是否支持宽频(例如是否支持160MHz,如果支持可以用true表示,如果不支持可以用false表示)等信息。
S513,大屏设备中的通信模块接收到该Wi-Fi P2P连接请求后,利用该解密秘钥进行解密,会校验手机C是否为可信设备,以及判断大屏设备是否已经与手机C建立了Wi-FiP2P连接。
S514,在手机A在与大屏设备建立Wi-Fi P2P连接后,大屏设备已经维护了既有的连接信息,该连接信息包括:与自己连接设备(包括手机A)的Wi-Fi P2P连接状态、角色(GC)以及这些设备的地址信息、P2P群组的信息等。在确定大屏设备没有与手机C建立Wi-Fi P2P连接,大屏设备是GO设备,并且手机C是可信设备(例如,手机C和大屏设备登录的是同一个账号,或者手机C与大屏设备通过各种方式(例如通过二维码扫描等)进行过设备绑定)后,大屏设备中的通信模块向大屏设备中的P2P链路管理模块发送申请复用Wi-Fi P2P能力的请求。可选的。该申请复用Wi-Fi P2P能力的请求包括:大屏设备与手机A之间存在Wi-FiP2P连接,大屏设备是GO设备。
S515,大屏设备中的P2P链路管理模块接收到该请求后,作为一种可能的实现方式,如果该申请复用Wi-Fi P2P能力的请求包括:大屏设备与手机A之间存在Wi-Fi P2P连接,大屏设备是GO设备,则可以确定大屏设备可以复用Wi-Fi P2P能力。或者,作为另外一种可能的实现方式,如果该申请复用Wi-Fi P2P能力的请求不包括:大屏设备与手机A之间存在Wi-Fi P2P连接,大屏设备是GO设备,由于大屏设备中的通信模块已经维护了既有的连接信息,该连接信息包括:与自己连接设备(包括手机A)的Wi-Fi P2P连接状态、角色以及这些设备的地址信息、P2P群组的信息等。大屏设备中的P2P链路管理模块可以从通信模块处获取该连接信息,从而根据该连接信息,确定大屏设备与手机A之间存在Wi-Fi P2P连接,大屏设备是GO设备,即确定P2P群组是存在的,则可以确定大屏设备可以复用Wi-Fi P2P能力。
进一步的,大屏设备可以维护一个引用计数,该引用计数用于指示同时利用大屏设备Wi-Fi P2P能力的业务(或者应用)的个数。在确定可以复用Wi-Fi P2P能力前,大屏设备维护的引用计数的值为1,表示大屏设备自身的Wi-Fi P2P能力承载了1个业务(手机A向大屏设备的投屏业务)。在确定可以复用Wi-Fi P2P能力后,引用计数的值加1,变为2,表示大屏设备自身的Wi-Fi P2P能力承载了2个业务(手机A向大屏设备的投屏业务、以及手机C向大屏设备的文件分享业务)。引用计数的值变为2后,若投屏业务断开,引用计数变为1,由于引用计数不为0,因此大屏设备不会拆除P2P群组,手机C还可以正常的向大屏设备分享文件。只有在引用计数变为0,即投屏业务和文件分享业务均断开时,大屏设备才会拆除P2P群组。
S516,大屏设备中的P2P链路管理模块确定可以复用Wi-Fi P2P能力后,向大屏设备中的通信模块发送复用P2P能力成功的响应信息。
S517,大屏设备中的通信模块接收到该响应信息,通过第一连接向手机C中的通信模块发送Wi-Fi P2P连接请求响应信息,该Wi-Fi P2P连接请求响应信息利用加密秘钥进行加密。该Wi-Fi P2P连接请求响应信息包括:允许手机C加入P2P群组的指示信息、手机A和大屏设备组成的P2P群组的信息、大屏设备为手机C分配的IP地址、大屏设备的IP地址以及端口号等。应理解,该Wi-Fi P2P连接请求响应信息中可以包括:允许手机C加入P2P群组的指示信息、以及手机A和大屏设备组成的P2P群组的信息中任意一个,而不必同时包括允许手机C加入P2P群组的指示信息和手机A和大屏设备组成的P2P群组的信息。
S518,手机C中的通信模块接收到该连接请求响应信息并利用解密秘钥进行解密后,确定可以加入P2P群组,则向手机C中的P2P链路管理模块发送加入P2P群组的请求,该请求中携带P2P群组信息以及大屏设备的IP地址以及端口号。
S519,手机C中的P2P链路管理模块根据该P2P群组信息以及大屏设备的IP地址以及端口号,通过连接接口,直接发起到大屏设备的Wi-Fi P2P连接,加入P2P群组后,手机C中的P2P链路管理模块向手机C中的通信模块发送响应信息,用于向手机C中的通信模块通知手机C加入P2P群组成功。
S520,手机C中的通信模块接收到该响应信息后,向手机C上的第一应用发送Wi-FiP2P连接请求响应信息,用于向手机C上的第一应用通知手机C加入P2P群组成功,该Wi-FiP2P连接请求响应信息携带:大屏设备为手机C分配的IP地址、手机C自己生成的端口号、大屏设备的IP地址以及端口号。
S521,手机C加入P2P群组后,手机C上的第一应用(即文件分享应用)利用大屏设备为手机C分配的IP地址以及手机C自己生成的端口号,结合大屏设备的IP地址以及端口号等,与大屏设备上的第一应用(文件分享应用)建立socket传输通道。
S522,手机C上的第一应用基于socket传输通道,向大屏设备上的第一应用开始文件分享。其中,文件分享业务开始后,文件分享业务的数据流为:手机C→大屏设备。投屏业务的数据流为手机A→大屏设备。
在本申请实施例中,在文件分享业务和投屏业务这两个业务都完成后,才会进行P2P群组的移除,即进行GO设备以及P2P群组的拆除。换句话说,当大屏设备维护的引用计数为0时,才进行GO设备以及P2P群组的拆除。在文件分享业务和投屏业务中任意一个完成后,大屏设备维护的引用计数减为1,由于引用计数不为0,在这种情况下,不会进行GO设备以及P2P群组的拆除。
本申请提供的Wi-Fi P2P连接的方法,通过对第二电子设备(GO设备)的P2P链路进行管理,在第二电子设备与P2P群组内的第一电子设备(GC设备)之间已经存在基于Wi-FiP2P业务(或者应用)的情况下,P2P群组外的第四电子设备(空闲设备)发起到第二电子设备(GO设备)的Wi-Fi P2P连接以进行另外的业务数据传输时,第二电子设备会对第二电子设备的Wi-Fi P2P能力进行复用,这样第二电子设备就可以感知到当前自身承载了多个业务,在该多个业务都传输完成后,才会进行P2P群组以及GO设备的移除,从而保证了不同的业务均可以传输完成,不同的业务之间不会相互影响,提高了用户体验。
图15所示的另一例适用于本申请实施例的通信系统的示意图。如图15所示的,该系统架构包括:第一电子设备和第二电子设备,其中,第一电子设备和第二电子设备之间已经建立了Wi-Fi P2P连接,换句话说,第一电子设备和第二电子设备已经组成一个群组,在该群组内,第二电子设备为GO设备或者为AP设备,第一电子设备为GC设备。在图15所示的例子中,第一电子设备为手机B为例、第二电子设备为大屏设备(例如为智能电视)为例。手机B(GC设备)正在投屏到大屏设备(GO设备),然后手机B需要发起到大屏设备的文件分享。
图16所示的为在图15所示的场景中,本申请提供的一例Wi-Fi P2P连接的方法的示意性流程图。如图16所示的,该方法包括:S601至S625。
S601,手机B与大屏设备已经基于建立的Wi-Fi P2P连接进行第二应用(即投屏应用)业务数据的传输。
S602,用户在手机B上打开第一应用(即文件管理应用),例如,如图8中的a所示的,选择需要分享的文件(例如为文件1),点击“分享”,选择分享方式为“Wi-Fi直连”,如图8中的b和c所示的。
S603,在用户点击“Wi-Fi直连”后,手机B上的第一应用向手机B中的通信模块发送发现设备请求。
S604,手机B中的通信模块接收到该发现设备请求后,启动经典蓝牙、BLE扫描、WLAN扫描或者Wi-Fi P2P扫描等发现设备的方式来发现设备。在本申请实施例中,经典蓝牙包括BR)和EDR两种类型的蓝牙中的至少一种。
S605,手机B中的通信模块扫描到设备后,将扫描到的设备列表发送给手机B上的第一应用,该设备列表中包含有一个或多个设备的设备标识。例如,显示的设备列表可以如图8中的d所示的。
S606,用户在手机B上的第一应用上选择设备列表中的大屏设备的设备标识,该大屏设备的设备标识可以为大屏设备的设备型号、标识码、设备名称、设备ID(device ID)等。大屏设备的设备标识用于唯一标识该大屏设备。
S607,用户在设备列表中点击大屏设备的设备标识后,手机B上的第一应用会向手机B中的通信模块发送Wi-Fi P2P连接请求。该Wi-Fi P2P连接请求包括手机A的设备标识。
S608,手机B中的通信模块接收到该Wi-Fi P2P连接请求后,首先和大屏设备中的通信模块建立第一连接的请求。例如,该第一连接可以为BLE连接、蓝牙连接、Wi-Fi连接等。本申请实施例在此不作限制。
S609,手机B中的通信模块和大屏设备中的通信模块基于第一连接进行秘钥的协商,得到加密秘钥和解密秘钥,从而完成基于第一连接的安全认证。
S610,手机B中的通信模块存储该加密秘钥和解密秘钥。
S611,大屏设备中的通信模块存储该加密秘钥和解密秘钥。
S612,由于手机B在与大屏设备建立Wi-Fi P2P连接后,手机B中的通信模块会收到FRAMEWORK层上报的连接状态变化通知,该通知携带着基本的连接信息,因此手机B的通信模块里已经维护了既有的连接信息,该连接信息包括:手机B当前的Wi-Fi P2P连接状态和角色(例如:手机B已经存在Wi-Fi P2P连接且角色为GC,该信息可以用2表示)、所连接的设备(大屏设备)的角色(为GO)以及大屏设备的MAC地址等。而对于大屏设备而言,大屏设备中的通信模块也会收到FRAMEWORK层上报的连接状态变化通知,该通知携带着基本的连接信息,由于大屏设备为GO角色,因此,该连接信息除了包括与自己(大屏设备)连接的设备(包括手机B)的Wi-Fi P2P连接状态、角色以及设备的地址信息外,还包括该P2P群组的信息。在本申请实施例中,该P2P群组信息包括:该P2P群组的服务集标识(service setidentifier,SSID)、基本服务集标识(basicservice set identifier,BSSID)、频率、密码(PASSWORD)中至少一种。因此,手机B中的通信模块根据已经存储的连接信息,确定手机B已经为GC,确定自己已经与大屏设备之间存在对应于第二应用的Wi-Fi P2P连接(已有的Wi-Fi P2P连接)。
S613,手机B中的通信模块通过第一连接向大屏设备中的通信模块发送Wi-Fi P2P连接请求。该Wi-Fi P2P连接请求用于请求:允许手机B利用该已有的Wi-Fi P2P连接传输第一应用的业务数据的授权。该Wi-Fi P2P连接请求利用加密秘钥进行加密。该Wi-Fi P2P连接请求包括:手机B的设备标识、手机B当前的Wi-Fi P2P连接状态(手机B当前的Wi-Fi P2P连接状态包括:手机B当前没有与任何设备之间存在Wi-Fi P2P连接的状态,该连接状态可以用0表示;手机B当前与其他设备之间存在Wi-Fi P2P连接,且手机B的角色为GO的状态,该连接状态可以用1表示;手机B当前与其他设备之间存在Wi-Fi P2P连接,且手机B的角色为GC的状态,该连接状态可以用2表示。在本实施例中,手机B当前已经存在Wi-Fi P2P连接,并且角色为GC,手机B当前的Wi-Fi P2P连接状态用2表示)、手机B的Wi-Fi P2P端口的媒体接入控制(media access control,MAC)地址、手机B支持的信道列表(例如为支持36信道,对应5180MHz)、手机B预期的连接方式(例如手机B期望以GC的身份建立Wi-Fi P2P连接,或者手机B期望以GO的身份建立Wi-Fi P2P连接,在本实施例中,手机B期望是以GC的身份建立Wi-Fi P2P连接)、手机B连接的Wi-Fi热点的频率、是否支持宽频(例如是否支持160MHz,如果支持可以用true表示,如果不支持可以用false表示)等信息中的至少一个。
S614,大屏设备中的通信模块接收到该Wi-Fi P2P连接请求后,利用该解密秘钥进行解密。在手机B在与大屏设备建立Wi-Fi P2P连接后,大屏设备也已经维护了既有的连接信息,该连接信息包括:与自己连接设备(包括手机B)的Wi-Fi P2P连接状态、角色以及这些设备的地址信息、P2P群组的信息等。因此,大屏设备可以根据该连接信息,确定大屏设备和手机B处于一个P2P群组内,并且,自己已经与手机B之间已经存在Wi-Fi P2P连接。该Wi-FiP2P连接用于传输手机B向大屏设备投屏的数据流。
S615,大屏设备中的通信模块向大屏设备中的P2P链路管理模块发送申请复用Wi-Fi P2P能力的请求。可选的,该申请复用Wi-Fi P2P能力的请求包括:手机B和大屏设备之间存在Wi-Fi P2P连接的指示信息。
S616,大屏设备中的P2P链路管理模块接收到该请求后,作为一种可能的实现方式,如果该请求中携带:手机B和大屏设备之间存在Wi-Fi P2P连接的指示信息,手机B中的P2P链路管理模块便可以确定手机B与大屏设备之间存在Wi-Fi P2P连接,则手机B中的P2P链路管理模块确定可以复用Wi-Fi P2P能力。或者,作为另一种可能的实现方式,如果该请求没有携带:手机B和大屏设备之间存在Wi-Fi P2P连接的指示信息,由于大屏设备中的通信模块已经存储了既有的连接信息,该连接信息包括:与自己连接设备(包括手机B)的Wi-Fi P2P连接状态、角色以及这些设备的地址信息、P2P群组的信息等。大屏设备中的P2P链路管理模块可以从通信模块处获取该连接信息,从而根据该连接信息,确定大屏设备与手机B之间已经存在Wi-Fi P2P链路,或者,确定大屏设备已经存与手机B之间已经存在Wi-Fi P2P链路,并且,该Wi-Fi P2P链路支持其他业务使用,则可以确定大屏设备可以复用Wi-Fi P2P能力。
进一步的,大屏设备可以维护一个引用计数,该引用计数用于指示同时利用大屏设备Wi-Fi P2P能力的业务(或者应用)的个数。在确定可以复用Wi-Fi P2P能力前,大屏设备维护的引用计数的值为1,表示大屏设备自身的Wi-Fi P2P能力承载了1个业务(手机B向大屏设备的投屏业务)。在确定可以复用Wi-Fi P2P能力后,引用计数的值加1,变为2,表示大屏设备自身的Wi-Fi P2P能力承载了2个业务(手机B向大屏设备的投屏业务以及手机B向大屏设备的文件分享业务)。引用计数的值变为2后,若投屏业务断开,引用计数变为1,由于引用计数不为0,因此大屏设备不会拆除P2P群组,手机B还可以正常的向大屏设备分享文件。只有在引用计数变为0,即投屏业务和文件分享业务均断开时,大屏设备才会拆除P2P群组。
S617,大屏设备中的P2P链路管理模块确定可以复用Wi-Fi P2P能力后,向大屏设备中的通信模块发送复用Wi-Fi P2P能力成功的响应信息。
S618,大屏设备中的通信模块接收到该复用Wi-Fi P2P能力成功的响应信息后,通过第一连接向手机B中的通信模块发送Wi-Fi P2P连接请求响应信息,该Wi-Fi P2P连接请求响应信息利用加密秘钥进行加密。该Wi-Fi P2P连接请求响应信息包括:允许手机B利用该已有的Wi-Fi P2P连接传输第一应用的业务数据的指示信息、手机B和大屏设备组成的P2P群组的信息、大屏设备的IP地址以及端口号等信息。
S619,手机B中的通信模块接收到该连接请求响应信息并利用解密秘钥进行解密后,确定手机B可以利用该已有的Wi-Fi P2P连接传输第一应用的业务数据。
S620,由于两个设备之间的Wi-Fi P2P链路(或者Wi-Fi P2P连接)是需要这两个设备共同维护的,而对Wi-Fi P2P能力的复用是针对一个设备而言的,只对某一台设备申请Wi-Fi P2P能力复用,只可以保证这台设备在业务存续期间不会主动断开Wi-Fi P2P链路,对端设备无法保证不会主动断开该Wi-Fi P2P链路,最终还是会影响到业务传输,因此,手机B中的通信模块也会向手机B中的P2P链路管理模块发送申请复用Wi-Fi P2P能力的请求。可选的,该申请复用Wi-Fi P2P能力的请求包括:手机B和大屏设备之间存在Wi-Fi P2P连接的指示信息。
S621,手机B中的P2P链路管理模块接收到该请求后,作为一种可能的实现方式,如果该复用Wi-Fi P2P能力的请求包括:手机B和大屏设备之间存在Wi-Fi P2P连接的指示信息,则手机B中的P2P链路管理模块可以确定手机B可以复用Wi-Fi P2P能力。或者,作为另一种可能的实现方式,如果该复用Wi-Fi P2P能力的请求不包括手机B和大屏设备之间存在Wi-Fi P2P连接的指示信息,由于手机B中的通信模块已经存储了既有的连接信息,该连接信息包括:手机B当前的连接状态和角色(例如:手机B已经存在Wi-Fi P2P连接且角色为GC)、所连接的设备(大屏设备)的角色(为GO)以及大屏设备的MAC地址等。手机B中的P2P链路管理模块可以从通信模块处获取该连接信息,从而根据该连接信息,则可以确定手机B可以复用Wi-Fi P2P能力。
进一步的,手机B可以维护一个引用计数,该引用计数用于指示同时利用手机BWi-Fi P2P能力的业务(或者应用)的个数。在确定可以复用Wi-Fi P2P能力前,手机B维护的引用计数的值为1,表示手机B自身的Wi-Fi P2P能力承载了1个业务(手机B向大屏设备的投屏业务)。在确定可以复用Wi-Fi P2P能力后,引用计数的值加1,变为2,表示手机B自身的Wi-Fi P2P能力承载了2个业务(手机B向大屏设备的投屏业务以及手机B向大屏设备的文件分享业务)。引用计数的值变为2后,若投屏业务断开,引用计数变为1,由于引用计数不为0,因此手机B不会断开与大屏设备之间的Wi-Fi P2P链路,手机B还可以正常的向大屏设备分享文件。只有在引用计数变为0,即投屏业务和文件分享业务均断开时,手机B不会断开与大屏设备之间的Wi-Fi P2P连接。
S622,手机B中的P2P链路管理模块确定可以复用Wi-Fi P2P能力后,向手机B中的通信模块发送复用P2P能力成功的响应信息。
S623,手机B中的通信模块接收到复用P2P能力成功的响应信息,向手机B上的第一应用发送Wi-Fi P2P连接请求响应信息,用于向手机B上的第一应用通知可以利用已有的Wi-Fi P2P连接传输第一应用的业务数据。该Wi-Fi P2P连接请求响应信息包括大屏设备的IP地址以及端口号、以及手机B自己生成的端口号等信息。
S624,手机B上的第一应用接收到该Wi-Fi P2P连接请求响应信息后,利用手机B的IP地址以及手机B自己生成的端口号,结合大屏设备的IP地址以及端口号,与大屏设备上的第一应用(文件分享应用)建立socket传输通道。
S625,手机B上的第一应用基于socket传输通道,向大屏设备上的第一应用开始文件分享。其中,文件分享业务开始后,文件分享业务的数据流为:手机B→大屏设备。投屏业务的数据流为手机B→大屏设备。
在本申请实施例中,在文件分享业务和投屏业务这两个业务都完成后,才会进行P2P群组的移除,即进行GO设备以及P2P群组的拆除。换句话说,在大屏设备和手机B维护的引用计数为0时,才进行GO设备以及P2P群组的拆除。在文件分享业务和投屏业务中任意一个完成后,手机B以及大屏设备维护的引用计数均减为1,由于引用计数不为0,在这种情况下,不会进行GO设备以及P2P群组的拆除,即不会拆除大屏设备和手机B之间的Wi-Fi P2P连接。
本申请提供的Wi-Fi P2P连接的方法,通过对第一电子设备(GO设备)和第二电子设备(GC设备)的Wi-Fi P2P能力进行复用,这样第一电子设备和第二电子设备就可以感知到当前自身承载了多个业务,其中的任意一个业务断开时,都不会真正地造成P2P群组的移除以及Wi-Fi P2P连接的断开,在该多个业务都完成后,才会进行GO设备的移除以及Wi-FiP2P连接的断开,从而保证了不同的业务均可以完整的传输完成,实现了第一电子设备和第二电子设备之间的多个Wi-Fi P2P业务同时共存,提高了用户体验。不同的业务之间不会相互影响,提高了用户体验。
应理解,上述只是为了帮助本领域技术人员更好地理解本申请实施例,而非要限制本申请实施例的范围。本领域技术人员根据所给出的上述示例,显然可以进行各种等价的修改或变化,例如,上述各个方法某些步骤可以不必须的,或者可以新加入某些步骤等。或者上述任意两种或者任意多种实施例的组合。这样的修改、变化或者组合后的方案也落入本申请实施例的范围内。
还应理解,本申请实施例中的方式、情况、类别以及实施例的划分仅是为了描述的方便,不应构成特别的限定,各种方式、类别、情况以及实施例中的特征在不矛盾的情况下可以相结合。
还应理解,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
还应理解,上文对本申请实施例的描述着重于强调各个实施例之间的不同之处,未提到的相同或相似之处可以互相参考,为了简洁,这里不再赘述。
上述结合图1-图16描述了本申请实施例提供的Wi-Fi直连下数据传输的方法的实施例,下面描述本申请实施例提供的电子设备。
本实施例可以根据上述方法,对电子设备(包括上述的第一电子设备、第二电子设备、第三电子设备以及第四电子设备)进行功能模块的划分。例如,可以对应各个功能,划分为各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
需要说明的是,上述方法实施例涉及的各步骤的相关内容,均可以援引到对应功能模块的功能描述,此处不再赘述。
本申请实施例提供的电子设备,用于执行上述方法实施例提供任一种Wi-Fi直连下数据传输的方法,因此可以达到与上述实现方法相同的效果。在采用集成的单元的情况下,电子设备可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理。例如,可以用于支持电子设备执行处理单元执行的步骤。存储模块可以用于支持存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
示例性地,图17示出了本申请提供的一例电子设备700的硬件结构示意图。该电子设备700可以为上述的第一终端设备、第二终端设备或者第三终端设备。如图14所示,电子设备700可包括处理器710,外部存储器接口720,内部存储器721,通用串行总线(universalserial bus,USB)接口730,充电管理模块740,电源管理模块741,电池742,天线1,天线2,无线通信模块750等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备700的具体限定。在本申请另一些实施例中,电子设备700可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器710可以包括一个或多个处理单元。例如:处理器710可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的部件,也可以集成在一个或多个处理器中。在一些实施例中,电子设备700也可以包括一个或多个处理器710。其中,控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
在一些实施例中,处理器710可以包括一个或多个接口。接口可以包括集成电路间(inter-integrated circuit,I2C)接口,集成电路间音频(integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,SIM卡接口,和/或USB接口等。其中,USB接口730是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口2530可以用于连接充电器为电子设备700充电,也可以用于电子设备700与外围设备之间传输数据。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备700的结构限定。在本申请另一些实施例中,电子设备700也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备700的无线通信功能可以通过天线1,天线2以及无线通信模块750等实现。
无线通信模块750可以提供应用在电子设备700上的包括Wi-Fi(包括Wi-Fi感知和Wi-Fi AP),蓝牙(bluetooth,BT),无线数传模块(例如,433MHz,868MHz,715MHz)等无线通信的解决方案。无线通信模块750可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块750经由天线1或者天线2(或者,天线1和天线2)接收电磁波,将电磁波信号滤波以及调频处理,将处理后的信号发送到处理器710。无线通信模块750还可以从处理器710接收待发送的信号,对其进行调频,放大,经天线1或者天线2转为电磁波辐射出去。
外部存储器接口720可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备700的存储能力。外部存储卡通过外部存储器接口720与处理器710通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器721可以用于存储一个或多个计算机程序,该一个或多个计算机程序包括指令。处理器710可以通过运行存储在内部存储器721的上述指令,从而使得电子设备700执行本申请一些实施例中所提供的Wi-Fi直连下数据传输的方法,以及各种应用以及数据处理等。内部存储器721可以包括代码存储区和数据存储区。其中,代码存储区可存储操作系统。数据存储区可存储电子设备700使用过程中所创建的数据等。此外,内部存储器721可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储部件,闪存部件,通用闪存存储器(universal flash storage,UFS)等。在一些实施例中,处理器710可以通过运行存储在内部存储器721的指令,和/或存储在设置于处理器710中的存储器的指令,来使得电子设备700执行本申请实施例中所提供任一种的Wi-Fi直连下数据传输的方法,以及其他应用及数据处理。
电子设备700包括但不限于智能电视、大屏设备、手机、平板电脑、笔记本、大屏电视、智能家居单品、PDA、POS、车载电脑等。本申请实施例在此不作限制。
应理解,电子设备700执行上述相应步骤的具体过程请参照前文中结合图7、图9、图11、图12、图14、图16各个实施例中描述的第一电子设备、第二电子设备、第三电子设备或者第四电子设备执行步骤的相关描述,为了简洁,这里不加赘述。
图18示出了本申请实施例的提供的另一例通信装置800的示意性框图,该通信装置800可以对应上述各个方法中各个实施例中描述第一电子设备、第二电子设备、第三电子设备或者第四电子设备,也可以是应用于第一电子设备、第二电子设备、第三电子设备或者第四电子设备的芯片或组件,并且,该通信装置800中的各模块或单元分别用于执行上述各个方法中描述的第一电子设备、第二电子设备、第三电子设备或者第四电子设备所执行的各动作或处理过程,如图18所示,该通信装置800可以包括:处理单元810和通信单元820。可选的,该通信装置800还可以包括存储单元830。
应理解,通信装置800中各单元执行上述相应步骤的具体过程请参照前文中结合图7、图9、图11、图12、图14和图16中各个实施例中描述的第一电子设备、第二电子设备、第三电子设备或者第四电子设备执行步骤的相关描述,为了简洁,这里不加赘述。
可选的,通信单元820可以包括接收单元(模块)和发送单元(模块),用于执行前述各个方法实施例中第一终端设备、第二终端设备或者第三终端设备接收信息和发送信息的步骤。存储单元830用于存储处理单元810和通信单元820执行的指令。处理单元810、通信单元820和存储单元830通信连接,存储单元830存储指令,处理单元810用于执行存储单元830存储的指令,通信单元820用于在处理单元810的驱动下执行具体的信号收发。
应理解,通信单元820可以是收发器、输入/输出接口或接口电路等,例如可以由图17所示实施例中的无线通信模块750实现。存储单元可以是存储器,例如,可以由图17所示实施例中的外部存储器接口720或者内部存储器721实现。处理单元810可以由图17所示实施例中处理器710,或者可以由处理器710及内部存储器721实现。
还应理解,图18所示的通信装置800可以为上述的第一电子设备、第二电子设备、第三电子设备或者第四电子设备,或者,第一电子设备、第二电子设备、第三电子设备或者第四电子设备可以包括图18所示的通信装置800。
还应理解,以上装置中单元的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。例如,各个单元可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该单元的功能。这里该处理元件又可以称为处理器,可以是一种具有信号处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。在一个例子中,以上任一装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specificintegrated circuit,ASIC),或,一个或多个数字信号处理器(digital signalprocessor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA),或这些集成电路形式中至少两种的组合。再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessing unit,CPU)或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
本申请实施例还提供了一种Wi-Fi直连下数据传输的系统,该系统包括:上述方法实施例中提供的第一电子设备、第二电子设备,可选的,该系统还可以包括上述方法实施例中提供的第三电子设备或者第四电子设备。
本申请实施例还提供了一种计算机可读存储介质,用于存储计算机程序代码,该计算机程序包括用于执行上述本申请实施例提供的任意一种Wi-Fi直连下数据传输的方法的指令。该可读介质可以是只读存储器(read-only memory,ROM)或随机存取存储器(random access memory,RAM),本申请实施例对此不做限制。
本申请还提供了一种计算机程序产品,该计算机程序产品包括指令,当该指令被执行时,以使得第一电子设备、第二电子设备、第三电子设备或者第四电子设备执行对应于上述方法中的对应的操作。
本申请实施例还提供了一种位于通信装置中的芯片,该芯片包括:处理单元和通信单元,该处理单元,例如可以是处理器,该通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行计算机指令,以使所述通信装置执行上述本申请实施例提供的任一种Wi-Fi直连下数据传输的方法。
可选地,该计算机指令被存储在存储单元中。
可选地,该存储单元为该芯片内的存储单元,如寄存器、缓存等,该存储单元还可以是该终端内的位于该芯片外部的存储单元,如ROM或可存储静态信息和指令的其他类型的静态存储设备,随机RAM等。其中,上述任一处提到的处理器,可以是一个CPU,微处理器,ASIC,或一个或多个用于控制上述的反馈信息的传输方法的程序执行的集成电路。该处理单元和该存储单元可以解耦,分别设置在不同的物理设备上,通过有线或者无线的方式连接来实现该处理单元和该存储单元的各自的功能,以支持该系统芯片实现上述实施例中的各种功能。或者,该处理单元和该存储器也可以耦合在同一个设备上。
其中,本实施例提供的通信装置、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是ROM、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是RAM,其用作外部高速缓存。RAM有多种不同的类型,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。
在本申请中可能出现的对各种消息/信息/设备/网元/系统/装置/动作/操作/流程/概念等各类客体进行了赋名,可以理解的是,这些具体的名称并不构成对相关客体的限定,所赋名称可随着场景,语境或者使用习惯等因素而变更,对本申请中技术术语的技术含义的理解,应主要从其在技术方案中所体现/执行的功能和技术效果来确定。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请的实施例中的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器等数据存储设备。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (60)
1.一种Wi-Fi直连下数据传输的方法,其特征在于,所述方法应用于包括第一电子设备和第二电子设备的系统中,所述第一电子设备为Wi-Fi直连群组内的GC设备,所述第二电子设备为所述Wi-Fi直连群组内的GO设备;所述方法包括:
所述第一电子设备和所述第二电子设备通过第一Wi-Fi直连链路传输第一业务的数据;
所述第一电子设备接收用户的第一操作,所述第一操作用于向所述第二电子设备发送第二业务的数据,所述第二业务与所述第一业务不同;
第一电子设备通过所述第一Wi-Fi直连链路向所述第二电子设备发送所述第二业务的数据。
2.根据权利要求1所述的方法,其特征在于,在所述第一电子设备接收用户的第一操作之后,所述方法还包括:
所述第一电子设备通过第一连接,向所述第二电子设备发送Wi-Fi直连请求,所述Wi-Fi直连请求包括:所述第一电子设备的信息,所述Wi-Fi直连请求用于请求利用所述第一Wi-Fi直连链路向所述第二电子设备发送所述第二业务的数据;
所述第二电子设备根据所述Wi-Fi直连请求,将所述第二电子设备维护的引用计数加一,所述第二电子设备维护的引用计数用于表示同时利用所述第二电子设备Wi-Fi P2P能力的业务个数;
所述第二电子设备向第一电子设备发送Wi-Fi直连请求响应信息,所述Wi-Fi直连请求响应信息包括:所述Wi-Fi直连群组的群组信息以及所述第二电子设备的IP地址;
所述第一电子设备根据所述Wi-Fi直连请求响应信息,将所述第一电子设备维护的引用计数加一,所述第一电子设备维护的引用计数用于表示同时利用所述第二电子设备Wi-FiP2P能力的业务个数。
3.根据权利要求2所述的方法,其特征在于,在所述第一电子设备向所述第二电子设备发送Wi-Fi直连请求之前,所述方法还包括:
所述第一电子设备和所述第二电子设备建立所述第一连接,所述第一连接包括:蓝牙连接、Wi-Fi连接中的任意一种。
4.根据权利要求2或3所述的方法,其特征在于,在所述第二电子设备将所述第二电子设备维护的引用计数加一之前,所述方法还包括:
所述第二电子设备根据所述Wi-Fi直连请求,确定所述第二电子设备和所述第一电子设备之间已经存在所述第一Wi-Fi直连链路。
5.根据权利要求2至4中任一项所述的方法,其特征在于,在所述第一电子设备将所述第一电子设备维护的引用计数加一之前,所述方法还包括:
所述第一电子设备确定所述第二电子设备和所述第一电子设备之间已经存在所述第一Wi-Fi直连链路。
6.根据权利要求2至5中任一项所述的方法,其特征在于,在所述第二业务的数据传输完成后或者所述第一业务的数据传输完成后,所述方法还包括:
所述第一电子设备将所述第一电子设备维护的引用计数减一;
所述第二电子设备将所述第二电子设备维护的引用计数减一。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述第二电子设备维护的引用计数为0时,所述第二电子设备拆除所述Wi-Fi直连群组;或者,
在所述第一电子设备维护的引用计数为0时,所述第一电子设备断开与所述第二电子设备之间的Wi-Fi直连链路。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述第一电子设备的信息包括:所述第一电子设备的标识、所述第一电子设备当前的Wi-Fi直连连接状态、所述第一电子设备的Wi-Fi直连端口的MAC地址、所述第一电子设备支持的信道列表、所述第一电子设备连接的Wi-Fi热点的频率、所述第一电子设备是否支持宽频中的至少一种。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述系统还包括第三电子设备,所述第三电子设备为所述Wi-Fi直连群组外的空闲设备,在所述第二业务的数据传输完成之后,所述方法还包括:
所述第三电子设备接收用户的第二操作,所述第二操作用于向所述第一电子设备发送第三业务的数据;
所述第三电子设备与所述第二电子设备建立第二Wi-Fi直连链路;
所述第三电子设备通过所述第二Wi-Fi直连链路向所述第二电子设备发送所述第三业务的数据;
响应于接收所述第三业务的数据,所述第二电子设备通过所述第一Wi-Fi直连链路向所述第一电子设备发送所述第三业务的数据。
10.根据权利要求9所述的方法,其特征在于,在所述第三电子设备与所述第二电子设备建立所述第二Wi-Fi直连链路之前,所述方法还包括:
所述第一电子设备向所述第二电子设备发送第三连接请求,所述第三连接请求用于请求将所述第三电子设备加入到所述Wi-Fi直连群组中,所述第三连接请求包括所述第三电子设备的信息;
所述第二电子设备根据所述第三连接请求,将所述第二电子设备维护的引用计数加一,所述第三电子设备维护的引用计数用于表示同时利用所述第三电子设备Wi-Fi P2P能力的业务个数;
所述第二电子设备向所述第一电子设备发送响应于所述第三连接请求的第三响应信息,所述第三响应信息用于指示将所述第三电子设备加入到所述Wi-Fi直连群组,所述第三响应信息包括:所述第二电子设备为所述第三电子设备分配的IP地址、所述Wi-Fi直连群组的群组信息、所述第三电子设备的MAC地址中;
所述第一电子设备根据所述第三响应信息,将所述第一电子设备维护的引用计数加一,所述第一电子设备维护的引用计数用于表示同时利用所述第二电子设备Wi-Fi P2P能力的业务个数。
11.根据权利要求10所述的方法,其特征在于,在所述第一电子设备向所述第二电子设备发送所述第三连接请求之前,所述方法还包括:
所述第三电子设备和所述第一电子设备建立第二连接,所述第二连接包括:蓝牙连接、Wi-Fi连接中的任意一种。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
所述第三电子设备通过所述第二连接向所述第一电子设备发送第四连接请求,所述第四连接请求包括所述第三电子设备的信息;
所述第一电子设备通过所述第二连接,向所述第三电子设备发送第四连接请求响应信息,所述第四连接请求响应信息包括:所述第二电子设备为所述第三电子设备分配的IP地址、所述Wi-Fi直连群组的群组信息、所述第二电子设备的MAC地址、所述第一电子设备的IP地址以及端口号;
响应于接收所述第四连接请求响应信息,所述第三电子设备根据所述Wi-Fi直连群组的群组信息、所述第二电子设备的MAC地址,与所述第二电子设备建立所述第二Wi-Fi直连链路。
13.根据权利要求10至12中任一项所述的方法,其特征在于,在所述第二电子设备将所述第一电子设备维护的引用计数加一之前,所述方法还包括:
所述第二电子设备根据所述第三连接请求,确定所述第三电子设备为可信设备、以及确定所述第二电子设备和所述第一电子设备之间存在Wi-Fi直连链路;
在所述第一电子设备将所述第一电子设备维护的引用计数加一之前,所述方法还包括:
所述第一电子设备根据所述第三响应信息,确定所述第一电子设备和所述第二电子设备之间存在Wi-Fi直连链路。
14.根据权利要求10至13中任一项所述的方法,其特征在于,在所述第三业务的数据传输完成后,所述方法还包括:
所述第一电子设备将所述第一电子设备维护的引用计数减一;
所述第二电子设备将所述第二电子设备维护的引用计数减一。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
在所述第二电子设备维护的引用计数为0时,所述第二电子设备拆除所述Wi-Fi直连群组;或者,
在所述第一电子设备维护的引用计数为0时,所述第一电子设备断开与所述第二电子设备之间的Wi-Fi直连链路。
16.根据权利要求9所述的方法,其特征在于,在所述第三电子设备通过所述第二Wi-Fi直连链路向所述第二电子设备发送所述第三业务的数据之前,所述方法还包括:
所述第三电子设备通过第二连接,向所述第一电子设备发送第五连接请求,所述第五连接请求包括:所述第三电子设备的信息以及所述第三电子设备在所述Wi-Fi直连群组内连接的GO设备的标识;
所述第一电子设备根据所述第五连接请求,将所述第一电子设备维护的引用计数加一,所述第一电子设备维护的引用计数用于表示同时利用所述第二电子设备Wi-Fi P2P能力的业务个数;
所述第一电子设备向第二电子设备发送第六连接请求,所述第六连接请求包括:所述第三电子设备的信息以及所述第三电子设备在所述Wi-Fi直连群组内连接的GO设备的标识;
所述第二电子设备根据所述第六连接请求,将所述第二电子设备维护的引用计数加一,所述第二电子设备维护的引用计数用于表示同时利用所述第二电子设备Wi-Fi P2P能力的业务个数;
所述第二电子设备向所述第一电子设备发送响应于所述第六连接请求的第六响应信息,所述第六响应信息包括:所述Wi-Fi直连群组的群组信息、所述第一电子设备和所述第三电子设备分别与所述第二电子设备之间存在Wi-Fi P2P连接的指示信息中的至少一个;
所述第一电子设备通过所述第二连接,向所述第三电子设备发送响应于所述第五连接的第五响应信息,所述第五响应信息:所述第一电子设备的IP地址和端口号、所述第一电子设备在所述Wi-Fi直连群组内连接的GO设备的标识;
所述第三电子设备根据所述第五响应信息,将所述第三电子设备维护的引用计数加一,所述第三电子设备维护的引用计数用于表示同时利用所述第三电子设备Wi-FiP2P能力的业务个数。
17.根据权利要求9所述的方法,其特征在于,在所述第三电子设备通过所述第二Wi-Fi直连链路向所述第二电子设备发送所述第三业务的数据之前,所述方法还包括:
所述第三电子设备向所述第二电子设备发送第七连接请求,所述第七连接请求包括所述第一电子设备的信息;
所述第二电子设备根据所述第七连接请求,将所述第二电子设备维护的引用计数加一,所述第二电子设备维护的引用计数用于表示同时利用所述第二电子设备Wi-FiP2P能力的业务个数;
所述第二电子设备向所述第三电子设备发送响应于所述第七连接请求的第七响应信息,所述第七响应信息包括:所述Wi-Fi直连群组的群组信息、所述第一电子设备和所述第三电子设备分别与所述第二电子设备之间存在Wi-Fi P2P连接的指示信息中的至少一个;
所述第三电子设备根据所述第七响应信息,将所述第三电子设备维护的引用计数加一,所述第三电子设备维护的引用计数用于表示同时利用所述第三电子设备Wi-FiP2P能力的业务个数;
所述第三电子设备通过第二连接向所述第一电子设备发送第八连接请求,所述第八连接请求包括:所述Wi-Fi直连群组的群组信息、所述第三电子设备在所述Wi-Fi直连群组内连接的GO设备的标识;
所述第一电子设备根据所述第八连接请求,将所述第一电子设备维护的引用计数加一,所述第一电子设备维护的引用计数用于表示同时利用所述第一电子设备Wi-FiP2P能力的业务个数。
18.根据权利要求16或17所述的方法,其特征在于,在所述第二电子设备将所述第二电子设备维护的引用计数加一之前,所述方法还包括:
所述第二电子设备根据所述第六连接请求,确定所述第三电子设备为可信设备、以及确定所述第三电子设备和所述第一电子设备分别与所述第二电子设备之间存在Wi-Fi P2P连接;或者,
所述第二电子设备根据所述第七连接请求,确定所述第一电子设备为可信设备、以及确定所述第一电子设备和所述第三电子设备分别与所述第二电子设备之间存在Wi-Fi P2P连接。
19.根据权利要求16至18中任一项所述的方法,其特征在于,在所述第三电子设备将所述第三电子设备维护的引用计数加一之前,所述方法还包括:
所述第三电子设备根据所述第五响应信息,确定所述第三电子设备在所述Wi-Fi直连群组内连接的GO设备的标识和所述第一电子设备在所述Wi-Fi直连群组内连接的GO设备的标识相同;或者,
所述第三电子设备根据所述第七响应信息,确定所述第一电子设备在所述Wi-Fi直连群组内连接的GO设备的标识和所述第三电子设备在所述Wi-Fi直连群组内连接的GO设备的标识相同。
20.根据权利要求16至19中任一项所述的方法,其特征在于,所述方法还包括:在所述第一电子设备将所述第一电子设备维护的引用计数加一之前,所述方法还包括:
所述第一电子设备根据所述第六响应信息或者所述第八连接请求,确定所述第一电子设备在所述Wi-Fi直连群组内连接的GO设备的标识和所述第三电子设备在所述Wi-Fi直连群组内连接的GO设备的标识相同。
21.根据权利要求16至20中任一项所述的方法,其特征在于,在所述第三业务的数据传输完成后,所述方法还包括:
所述第一电子设备将所述第一电子设备维护的引用计数减一;
所述第二电子设备将所述第二电子设备维护的引用计数减一;
所述第三电子设备将所述第三电子设备维护的引用计数减一。
22.根据权利要求21所述的方法,其特征在于,所述方法还包括:
在所述第二电子设备维护的引用计数为0时,所述第二电子设备拆除所述Wi-Fi直连群组;或者,
在所述第一电子设备维护的引用计数为0时,所述第一电子设备断开与所述第二电子设备之间的所述第一Wi-Fi直连链路;或者,
在所述第三电子设备维护的引用计数为0时,所述第三电子设备断开与所述第二电子设备之间的所述第二Wi-Fi直连链路。
23.根据权利要求10至22中任一项所述的方法,其特征在于,
所述第三电子设备的信息包括:所述第三电子设备的标识、所述第三电子设备当前的Wi-Fi直连连接状态、所述第三电子设备的Wi-Fi直连端口的MAC地址、所述第三电子设备支持的信道列表、所述第三电子设备连接的Wi-Fi热点的频率、所述第三电子设备是否支持宽频中的至少一种。
24.根据权利要求1至23中任一项所述的方法,其特征在于,所述系统还包括第四电子设备,所述第四电子设备为所述Wi-Fi直连群组外的空闲设备,所述方法还包括:
所述第四电子设备接收用户的第三操作,所述第三操作用于向所述第二电子设备发送第四业务的数据;
所述第四电子设备与所述第二电子设备建立第三Wi-Fi直连链路;
所述第四电子设备通过所述第三Wi-Fi直连链路,向所述第二电子设备发送所述第四业务的数据。
25.根据权利要求24所述的方法,其特征在于,在所述第四电子设备与所述第二电子设备建立第三Wi-Fi直连链路之前,所述方法还包括:
所述第四电子设备通过第三连接,向所述第二电子设备第九连接请求,所述第九连接请求用于请求将所述第四电子设备加入到所述Wi-Fi直连群组中,所述第九连接请求包括所述第四电子设备的信息;
所述第二电子设备根据所述第九连接请求,将所述第二电子设备维护的引用计数加一,所述第二电子设备维护的引用计数用于表示同时利用所述第二电子设备Wi-Fi P2P能力的业务个数;
所述第二电子设备通过所述第三连接,向所述第四电子设备发送响应于所述第九连接请求的第九响应信息,所述第九响应信息用于指示将所述第四电子设备加入到所述Wi-Fi直连群组,所述第九响应信息包括:所述第二电子设备为所述第四电子设备分配的IP地址、所述Wi-Fi直连群组的群组信息、所述第二电子设备的MAC地址;
所述第四电子设备根据所述Wi-Fi直连群组的群组信息、所述第二电子设备的MAC地址,与所述第二电子设备建立所述第三Wi-Fi直连链路。
26.根据权利要求25所述的方法,其特征在于,在所述第四电子设备通过第三连接,向所述第二电子设备第九连接请求之前,所述方法还包括:
所述第四电子设备和所述第二电子设备建立所述第三连接,所述第三连接包括:蓝牙连接、Wi-Fi连接中的任意一种。
27.根据权利要求25或26所述的方法,其特征在于,在所述第二电子设备将所述第二电子设备维护的引用计数加一之前,所述方法还包括:
所述第二电子设备根据所述第九连接请求,确定所述第四电子设备为可信设备、以及确定所述第二电子设备和所述第四电子设备之间不存在Wi-Fi直连链路。
28.根据权利要求25至27中任一项所述的方法,其特征在于,在所述第四业务的数据传输完成后,所述方法还包括:
所述第二电子设备将所述第二电子设备维护的引用计数减一。
29.根据权利要求28所述的方法,其特征在于,所述方法还包括:
在所述第二电子设备维护的引用计数为0时,所述第二电子设备拆除所述Wi-Fi直连群组。
30.根据权利要求25至29中任一项所述的方法,其特征在于,所述第四电子设备的信息包括:所述第四电子设备的标识、所述第四电子设备当前的Wi-Fi直连连接状态、所述第四电子设备的Wi-Fi直连端口的MAC地址、所述第四电子设备支持的信道列表、所述第四电子设备连接的Wi-Fi热点的频率、所述第四电子设备是否支持宽频中的至少一种。
31.一种Wi-Fi直连下数据传输的方法,其特征在于,所述方法包括:
第二电子设备和第二电子设备通过第一Wi-Fi直连链路传输第一业务的数据;
所述第二电子设备通过所述第一Wi-Fi直连链路接收所述第一电子设备发送的第二业务的数据,所述第一电子设备为Wi-Fi直连群组内的GC设备,所述第二电子设备为所述Wi-Fi直连群组内的GO设备,所述第二业务与所述第一业务不同。
32.根据权利要求31所述的方法,其特征在于,在所述第二电子设备通过所述第一Wi-Fi直连链路接收所述第一电子设备发送的第二业务的数据之前,所述方法包括:
所述第二电子设备通过第一连接,接收所述第一电子设备发送的送Wi-Fi直连请求,所述Wi-Fi直连请求包括:所述第一电子设备的信息,所述Wi-Fi直连请求用于请求利用所述第一Wi-Fi直连链路向所述第二电子设备发送第二业务的数据;
所述第二电子设备根据所述Wi-Fi直连请求,将所述第二电子设备维护的引用计数加一,所述第二电子设备维护的引用计数用于表示同时利用所述第二电子设备Wi-Fi P2P能力的业务个数;
所述第二电子设备向第一电子设备发送Wi-Fi直连请求响应信息,所述Wi-Fi直连请求响应信息包括:所述Wi-Fi直连群组的群组信息以及所述第二电子设备的IP地址。
33.根据权利要求32所述的方法,其特征在于,在所述第二电子设备接收所述第一电子设备发送的送Wi-Fi直连请求之前,所述方法还包括:
所述第二电子设备和所述第一电子设备建立所述第一连接,所述第一连接包括:蓝牙连接、Wi-Fi连接中的任意一种。
34.根据权利要求32或33所述的方法,其特征在于,在所述第二电子设备将所述第二电子设备维护的引用计数加一之前,所述方法还包括:
所述第二电子设备根据所述Wi-Fi直连请求,确定所述第二电子设备和所述第一电子设备之间已经存在所述第一Wi-Fi直连链路。
35.根据权利要求32至34中任一项所述的方法,其特征在于,在所述第二业务的数据传输完成后或者所述第一业务的数据传输完成后,所述方法还包括:
所述第二电子设备将所述第二电子设备维护的引用计数减一。
36.根据权利要求35所述的方法,其特征在于,所述方法还包括:
在所述第二电子设备维护的引用计数为0时,所述第二电子设备拆除所述Wi-Fi直连群组。
37.根据权利要求31至36中任一项所述的方法,其特征在于,所述第一电子设备的信息包括:所述第一电子设备的标识、所述第一电子设备当前的Wi-Fi直连连接状态、所述第一电子设备的Wi-Fi直连端口的MAC地址、所述第一电子设备支持的信道列表、所述第一电子设备连接的Wi-Fi热点的频率、所述第一电子设备是否支持宽频中的至少一种。
38.根据权利要求31至37中任一项所述的方法,其特征在于,在所述第二业务的数据传输完成之后,所述方法还包括:
所述第二电子设备与第三电子设备与建立第二Wi-Fi直连链路,所述第三电子设备为所述Wi-Fi直连群组外的空闲设备;
所述第二电子通过所述第二Wi-Fi直连链路,接收所述第三电子设备发送的第三业务的数据;
所述第二电子设备通过所述第一Wi-Fi直连链路,向所述第一电子设备发送所述第三业务的数据。
39.根据权利要求38所述的方法,其特征在于,在所述第二电子设备与第三电子设备与建立第二Wi-Fi直连链路之前,所述方法还包括:
所述第二电子设备接收所述第一电子设备发送第三连接请求,所述第三连接请求用于请求将所述第三电子设备加入到所述Wi-Fi直连群组中,所述第三连接请求包括所述第三电子设备的信息;
所述第二电子设备根据所述第三连接请求,将所述第二电子设备维护的引用计数加一,所述第三电子设备维护的引用计数用于表示同时利用所述第三电子设备Wi-Fi P2P能力的业务个数;
所述第二电子设备向所述第一电子设备发送响应于所述第三连接请求的第三响应信息,所述第三响应信息用于指示将所述第三电子设备加入到所述Wi-Fi直连群组,所述第三响应信息包括:所述第二电子设备为所述第三电子设备分配的IP地址、所述Wi-Fi直连群组的群组信息、所述第三电子设备的MAC地址中。
40.根据权利要求39所述的方法,其特征在于,在所述第二电子设备将所述第三电子设备维护的引用计数加一之前,所述方法还包括:
所述第二电子设备根据所述第三连接请求,确定所述第三电子设备为可信设备、以及确定所述第二电子设备和所述第一电子设备之间存在Wi-Fi直连链路。
41.根据权利要求39或40所述的方法,其特征在于,在所述第三业务的数据传输完成后,所述方法还包括:
所述第二电子设备将所述第二电子设备维护的引用计数减一。
42.根据权利要求39所述的方法,其特征在于,所述方法还包括:
在所述第二电子设备维护的引用计数为0时,所述第二电子设备拆除所述Wi-Fi直连群组。
43.根据权利要求38所述的方法,其特征在于,在所述第二电子通过所述第二Wi-Fi直连链路,接收所述第三电子设备发送的第三业务的数据之前,所述方法还包括:
所述第一电子设备向第二电子设备发送第六连接请求,所述第六连接请求包括:所述第三电子设备的信息以及所述第三电子设备在所述Wi-Fi直连群组内连接的GO设备的标识;
所述第二电子设备根据所述第六连接请求,将所述第二电子设备维护的引用计数加一,所述第二电子设备维护的引用计数用于表示同时利用所述第二电子设备Wi-FiP2P能力的业务个数;
所述第二电子设备向所述第一电子设备发送响应于所述第六连接请求的第六响应信息,所述第六响应信息包括:所述Wi-Fi直连群组的群组信息、所述第一电子设备和所述第三电子设备分别与所述第二电子设备之间存在Wi-Fi P2P连接的指示信息中的至少一个。
44.根据权利要求38所述的方法,其特征在于,在所述第二电子通过所述第二Wi-Fi直连链路,接收所述第三电子设备发送的第三业务的数据之前,所述方法还包括:
所述第二电子设备接收所述第三电子设备发送的第七连接请求,所述第七连接请求包括所述第一电子设备的信息;
所述第二电子设备根据所述第七连接请求,将所述第二电子设备维护的引用计数加一,所述第二电子设备维护的引用计数用于表示同时利用所述第二电子设备Wi-FiP2P能力的业务个数;
所述第二电子设备向所述第三电子设备发送响应于所述第七连接请求的第七响应信息,所述第七响应信息包括:所述Wi-Fi直连群组的群组信息、所述第一电子设备和所述第三电子设备分别与所述第二电子设备之间存在Wi-Fi P2P连接的指示信息中的至少一个。
45.根据权利要求43或44所述的方法,其特征在于,在所述第二电子设备将所述第二电子设备维护的引用计数加一之前,所述方法还包括:
所述第二电子设备根据所述第六连接请求,确定所述第三电子设备为可信设备、以及确定所述第三电子设备和所述第一电子设备分别与所述第二电子设备之间存在Wi-Fi P2P连接;或者,
所述第二电子设备根据所述第七连接请求,确定所述第一电子设备为可信设备、以及确定所述第一电子设备和所述第三电子设备分别与所述第二电子设备之间存在Wi-Fi P2P连接。
46.根据权利要求43至45中任一项所述的方法,其特征在于,在所述第三业务的数据传输完成后,所述方法还包括:
所述第二电子设备将所述第二电子设备维护的引用计数减一。
47.根据权利要求46所述的方法,其特征在于,所述方法还包括:
在所述第二电子设备维护的引用计数为0时,所述第二电子设备拆除所述Wi-Fi直连群组。
48.根据权利要求39至47中任一项所述的方法,其特征在于,
所述第三电子设备的信息包括:所述第三电子设备的标识、所述第三电子设备当前的Wi-Fi直连连接状态、所述第三电子设备的Wi-Fi直连端口的MAC地址、所述第三电子设备支持的信道列表、所述第三电子设备连接的Wi-Fi热点的频率、所述第三电子设备是否支持宽频中的至少一种。
49.根据权利要求31至48中任一项所述的方法,其特征在于,所述方法还包括:
所述第二电子设备与所述第四电子设备建立第三Wi-Fi直连链路,所述第四电子设备为所述Wi-Fi直连群组外的空闲设备;
所述第二电子设备通过所述第三Wi-Fi直连链路,接收所述第四电子设备发送的第四业务的数据。
50.根据权利要求49所述的方法,其特征在于,在所述第二电子设备与所述第四电子设备建立第三Wi-Fi直连链路之前,所述方法还包括:
所述第二电子设备通过第三连接,接收所述第四电子设备发送的第九连接请求,所述第九连接请求用于请求将所述第四电子设备加入到所述Wi-Fi直连群组中,所述第九连接请求包括所述第四电子设备的信息;
所述第二电子设备根据所述第九连接请求,将所述第二电子设备维护的引用计数加一,所述第二电子设备维护的引用计数用于表示同时利用所述第二电子设备Wi-Fi P2P能力的业务个数;
所述第二电子设备通过所述第三连接,向所述第四电子设备发送响应于所述第九连接请求的第九响应信息,所述第九响应信息用于指示将所述第四电子设备加入到所述Wi-Fi直连群组,所述第九响应信息包括:所述第二电子设备为所述第四电子设备分配的IP地址、所述Wi-Fi直连群组的群组信息、所述第二电子设备的MAC地址。
51.根据权利要求50所述的方法,其特征在于,在所述第二电子设备通过第三连接,接收所述第四电子设备发送的第九连接请求之前,所述方法还包括:
所述第二电子设备和所述第四电子设备建立所述第三连接,所述第三连接包括:蓝牙连接、Wi-Fi连接中的任意一种。
52.根据权利要求50或51所述的方法,其特征在于,在所述第二电子设备将所述第二电子设备维护的引用计数加一之前,所述方法还包括:
所述第二电子设备根据所述第九连接请求,确定所述第四电子设备为可信设备、以及确定所述第二电子设备和所述第四电子设备之间不存在Wi-Fi直连链路。
53.根据权利要求50至52中任一项所述的方法,其特征在于,在所述第四业务的数据传输完成后,所述方法还包括:
所述第二电子设备将所述第二电子设备维护的引用计数减一。
54.根据权利要求53所述的方法,其特征在于,所述方法还包括:
在所述第二电子设备维护的引用计数为0时,所述第二电子设备拆除所述Wi-Fi直连群组。
55.根据权利要求50至54中任一项所述的方法,其特征在于,所述第四电子设备的信息包括:所述第四电子设备的标识、所述第四电子设备当前的Wi-Fi直连连接状态、所述第四电子设备的Wi-Fi直连端口的MAC地址、所述第四电子设备支持的信道列表、所述第四电子设备连接的Wi-Fi热点的频率、所述第四电子设备是否支持宽频中的至少一种。
56.一种电子设备,其特征在于,包括:处理器及存储器;所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时执行如权利要求31至55中任一项所述的方法。
57.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1至30中任一项所述的方法。
58.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求31至55中任一项所述的方法。
59.一种芯片,其特征在于,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的通信设备执行如权利要求1至30中任一项所述的方法。
60.一种芯片,其特征在于,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的通信设备执行如权利要求31至55中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21909184.0A EP4247041A4 (en) | 2020-12-24 | 2021-12-10 | DATA TRANSMISSION METHOD UNDER WI-FI PEER-TO-PEER AND ELECTRONIC DEVICE |
PCT/CN2021/137212 WO2022135187A1 (zh) | 2020-12-24 | 2021-12-10 | Wi-Fi直连下数据传输的方法和电子设备 |
US18/340,689 US20230337303A1 (en) | 2020-12-24 | 2023-06-23 | Method for transmitting data under wi-fi direct and electronic device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020115557437 | 2020-12-24 | ||
CN202011555743 | 2020-12-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114679732A true CN114679732A (zh) | 2022-06-28 |
Family
ID=82070453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110745464.5A Pending CN114679732A (zh) | 2020-12-24 | 2021-06-30 | Wi-Fi直连下数据传输的方法和电子设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230337303A1 (zh) |
EP (1) | EP4247041A4 (zh) |
CN (1) | CN114679732A (zh) |
WO (1) | WO2022135187A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114928899A (zh) * | 2022-07-18 | 2022-08-19 | 荣耀终端有限公司 | 物理链路的建立方法和电子设备 |
CN115002939A (zh) * | 2022-07-18 | 2022-09-02 | 荣耀终端有限公司 | 加入WiFi群组的方法和装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117135767B (zh) * | 2023-10-24 | 2024-04-12 | 荣耀终端有限公司 | 一种设备间的连接方法及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060190764A1 (en) * | 2005-02-24 | 2006-08-24 | Parag Maharana | System for providing an alternative communication path in a SAS cluster |
CN108693969A (zh) * | 2017-04-06 | 2018-10-23 | 三星电子株式会社 | 用于连接外部设备和更新数据的设备 |
CN109587667A (zh) * | 2018-11-23 | 2019-04-05 | Oppo广东移动通信有限公司 | 一种连接建立方法及装置、设备、存储介质 |
CN110191442A (zh) * | 2019-04-18 | 2019-08-30 | 华为技术有限公司 | 一种蓝牙连接方法、设备及系统 |
CN111010744A (zh) * | 2018-10-08 | 2020-04-14 | 华为技术有限公司 | 建立会话的方法和装置以及发送报文的方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014025218A1 (ko) * | 2012-08-08 | 2014-02-13 | 삼성전자 주식회사 | 와이파이 다이렉트 서비스를 위한 피투피 그룹 생성 방법 및 장치 |
CN103702291B (zh) * | 2012-09-27 | 2017-06-09 | 中兴通讯股份有限公司 | 一种基于Wi‑Fi建立群组的方法和WiFi直连设备 |
AU2013338811B2 (en) * | 2012-11-05 | 2016-12-01 | Lg Electronics Inc. | Method for searching for or advertising service in direct communication system and device for same |
EP2943032B1 (en) * | 2013-01-03 | 2018-01-03 | LG Electronics Inc. | Method and apparatus for changing services in wireless communication system |
US9538568B2 (en) * | 2013-03-12 | 2017-01-03 | Lg Electronics Inc. | Method for peer to peer group formation in direct communication system and device therefor |
KR102577358B1 (ko) * | 2016-07-06 | 2023-09-14 | 삼성전자주식회사 | 다중 주파수 대역을 이용한 통신 방법 및 장치 |
CN111372325B (zh) * | 2020-02-21 | 2022-04-26 | 华为技术有限公司 | 建立Wi-Fi点对点连接的方法和装置 |
-
2021
- 2021-06-30 CN CN202110745464.5A patent/CN114679732A/zh active Pending
- 2021-12-10 WO PCT/CN2021/137212 patent/WO2022135187A1/zh unknown
- 2021-12-10 EP EP21909184.0A patent/EP4247041A4/en active Pending
-
2023
- 2023-06-23 US US18/340,689 patent/US20230337303A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060190764A1 (en) * | 2005-02-24 | 2006-08-24 | Parag Maharana | System for providing an alternative communication path in a SAS cluster |
CN108693969A (zh) * | 2017-04-06 | 2018-10-23 | 三星电子株式会社 | 用于连接外部设备和更新数据的设备 |
CN111010744A (zh) * | 2018-10-08 | 2020-04-14 | 华为技术有限公司 | 建立会话的方法和装置以及发送报文的方法和装置 |
CN109587667A (zh) * | 2018-11-23 | 2019-04-05 | Oppo广东移动通信有限公司 | 一种连接建立方法及装置、设备、存储介质 |
CN110191442A (zh) * | 2019-04-18 | 2019-08-30 | 华为技术有限公司 | 一种蓝牙连接方法、设备及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114928899A (zh) * | 2022-07-18 | 2022-08-19 | 荣耀终端有限公司 | 物理链路的建立方法和电子设备 |
CN115002939A (zh) * | 2022-07-18 | 2022-09-02 | 荣耀终端有限公司 | 加入WiFi群组的方法和装置 |
CN115002939B (zh) * | 2022-07-18 | 2022-10-04 | 荣耀终端有限公司 | 加入WiFi群组的方法和装置 |
CN114928899B (zh) * | 2022-07-18 | 2022-10-28 | 荣耀终端有限公司 | 物理链路的建立方法和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20230337303A1 (en) | 2023-10-19 |
EP4247041A1 (en) | 2023-09-20 |
WO2022135187A1 (zh) | 2022-06-30 |
EP4247041A4 (en) | 2024-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022135187A1 (zh) | Wi-Fi直连下数据传输的方法和电子设备 | |
EP2555490B1 (en) | Method for creating Wi-Fi P2P group | |
EP2914047B1 (en) | Wi-fi direct service method using nfc and device therefor | |
EP3550888B1 (en) | Wireless connection switching method and terminal | |
CN113014483B (zh) | 一种多路径传输的方法及设备 | |
US20130311692A1 (en) | Apparatus and method for direct pairing in a wireless docking system | |
KR20130097357A (ko) | 무선 통신 네트워크에서 디바이스 탐색 방법 및 장치 | |
CN111050415B (zh) | 一种操作便捷的无线数据传输方法 | |
CN103716393A (zh) | 资源共享的方法、装置及用于局域网通信的终端 | |
US9312948B2 (en) | Method and apparatus for enabling wireless dockees to find and dock with a wireless docking host being used by another dockee | |
EP4271006A1 (en) | Connection establishment method and electronic device | |
CN110602682A (zh) | 基于蓝牙BLE和mesh混合的网络管理系统和方法 | |
JP2016187090A (ja) | 通信機器 | |
EP4336815A1 (en) | Incoming call response method and corresponding terminal and communication system | |
CN115278611A (zh) | 一种多设备建立连接的方法及设备 | |
EP2713672B1 (en) | Wireless slave devices configuration and communication therewith | |
CN113038627B (zh) | 一种文件分享方法、移动设备、计算机存储介质 | |
WO2024083235A1 (zh) | 基于Wi-Fi感知的配网方法、嵌入式芯片系统及介质 | |
CN114390491A (zh) | 一种组网方法、装置和系统 | |
KR20160007259A (ko) | 무선 통신 시스템에서 채널을 선택하기 위한 방법 및 장치 | |
CN109275125B (zh) | 资源共享方法、装置、设备和存储介质 | |
CN113114798B (zh) | 一种互联网协议ip地址的获取方法及电子设备 | |
JP2015176536A (ja) | 通信装置、通信方法、通信プログラムおよび記憶媒体 | |
CN108990039B (zh) | 数据传输方法及相关装置 | |
TW202201995A (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 |