我目前正在为我正在进行的一个项目尝试 WiFi-Direct (WiFiP2p),并想知道是否可以在组之间创建桥梁,从而将它们连接在一起?
根据 WiFi 联盟发布的白皮书,这应该是可能的(尽管“P2P 规范没有描述此功能的机制 - 实施是特定于供应商的”)。我在网上查了一下,找到了一些答案(this,this等),但我觉得没有一个是特别结论性的。查看 Andoid 的 API 也没有多大帮助。
我尝试创建的场景是让一个组中的客户端也连接到另一个组。给定 4 个设备(A、B、C、D),其中 A 和 B 位于一个组中,A 是组所有者,C 和 D 位于由 D 管理的组中:
这可能吗?
请参阅此链接。根据此链接,当 C 连接到 A 时,它不再是 D 管理的组的组成员。如果不属于同一组,则两个设备无法相互通信。
此外,如果 wifi-direct 群组中可以有多个群组所有者,那么他们可以同时与其群组成员一起相互通信。根据其白皮书,这是 wifi-direct 中的可选实现。它说:
Wi-Fi Direct 设备维护多个组中的成员身份 同时:可选
但是在 Android 实现 wifi-direct 的情况下,不可能有多个组所有者。请参阅Andrdoid 的参考。 它说:
p2p 群组由单个群组所有者和一个或多个客户端组成。
我目前无法找到任何方法来让多个 wifi direct 组处于活动状态。然而,如果 P2P 比 WiFi 直连更重要,UstadMobile 的 Mesharabiya (https://github.com/UstadMobile/Meshrabiya) 似乎是一个可能的替代方案。
Mesharabiya 似乎在 WiFi 直连和常规接入点的组合上运行,并且似乎(至少在最近的开发人员构建中)允许所有应用程序访问网络,而不仅仅是单个应用程序。
注意:此答案的目的是帮助寻找 p2p 解决方案的人们更轻松地找到合适的资源。它的目的不是作为 Mesharabiya 的广告,而是作为一个看似有效的实现的链接,其中包含可用的源代码。
属于一个WFD群就等于和该群的群主在同一个Channel/FREQ...,所以如果群主可以独立选择自己的运营频道,那么一个群的群成员就无法联系到来自该群的群成员。另一组(反之亦然)。
您好,我们解决问题的方法是创建旧版 wifi direct 组并连接另一个组中的普通 wifi。 另一个问题是ipv4冲突,我们用ipv6解决了。