如果更好的设备通过 wifi direct 加入网络,组所有者会改变吗?

Posted

技术标签:

【中文标题】如果更好的设备通过 wifi direct 加入网络,组所有者会改变吗?【英文标题】:Do group owner change if better device joins the network in wifi direct? 【发布时间】:2017-09-20 14:29:32 【问题描述】:

我正在使用设备 A 上 WifiP2pManager 的 createGroup(c,al); 方法创建一个组,并使用来自客户端的 connect() 将其他设备连接到该组不是服务器(即调用 creategroup() 的服务器)。我想知道,如果一个更好的设备 B 加入网络,它是永久调用组所有者(当前网络)的设备组所有者还是组所有者更改。如果它确实发生了变化,如果设备 B 成为新的组所有者,设备 A 的 GroupInfoListener 将变为非活动状态。在Documentation,他们说

创建一个以当前设备为组所有者的 p2p 组。这实际上创建了一个接入点,可以接受来自旧客户端以及其他 p2p 设备的连接。

组所有权是否持续存在?当我使用 connect() 将客户端设备连接到设备 A 时(不在客户端设备列表上调用连接方法)

另外所有数据是通过群组所有者还是直接在网络中没有群组所有者的任意两台设备之间路由

【问题讨论】:

【参考方案1】:

不,您不能在正在进行的连接期间切换 GO。您必须先断开所有设备。如果你仔细想想就很清楚了。 GO 是创建接入点的设备。如果你想改变GO,当前的GO必须关闭它的接入点,然后在与当前的GO断开连接后,另一台设备可以创建新的接入点并成为GO。

关于你的第二个问题。数据始终通过 GO 路由,如下所示:第一个客户端 -> 组所有者 -> 第二个客户端。

【讨论】:

以上是关于如果更好的设备通过 wifi direct 加入网络,组所有者会改变吗?的主要内容,如果未能解决你的问题,请参考以下文章

通过 Wifi Direct (p2p) 服务将 Raspberry 与 Android 连接

我可以使用二维码通过 WiFi Direct 连接 2 台安卓设备吗

WiFi-Direct 获取设备名称

通过 Wifi Direct 传输文件

通过 wifi 传输数据

WiFi-Direct 在游戏开发中的使用 (Android)