在Wifi Direct组中连接多个设备

4
我有三个设备(我称它们为设备A、B和C),我想将它们连接成一个组。
目前,我可以进行一对一的连接,并且它也可以正常工作。
然而,当我尝试连接第三个设备时,其他两个设备之间的连接失败了。例如,我首先连接A和B。经过协商,A成为了群主。现在一切都很好。然后我试图连接A和C。接受消息在C上成功提示,但是“大多数情况下”连接失败,A和B也会断开连接。
我为什么说“大多数情况下”,因为它确实可以工作,尽管概率非常低(小于10%)。
有人知道为什么会发生这种情况吗?
1个回答

4
一旦A成为群组所有者,就无法再发起任何连接。连接必须由群组外的设备发起。
当您尝试使用wifi-direct连接时,您正在设置一个以群组所有者作为接入点的wifi网络。如果您再次尝试连接,则将尝试建立一个新的wifi网络,这将强制您离开旧网络。
简短版:每个设备只能连接一次。

但是我尝试使用设备连接组所有者之外的组,A和B之间的连接仍然中断了。 - Tim Lin
@TimLin,在使用WiFiP2pManager.connect建立连接时,需要传递WifiP2pConfig。其中一个字段是groupOwnerIntent。你可能需要确保将其设置为15,以便当前组所有者,并将其设置为0,以便新连接的客户端。如果没有这个字段,我不确定Android如何选择组所有者,但如果两个设备被视为同等合法的成为/保持组所有者,则可能会断开连接。 - Stan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接