【问题标题】:WiFi Direct (Android 4.0) with multiple (3+) devicesWiFi Direct (Android 4.0) 与多个 (3+) 设备
【发布时间】:2025-11-22 23:10:01
【问题描述】:

喜欢这里:Automatic authentication for Android WiFi Direct 我想用 Android 设备创建一个移动 ad-hoc Wifi 网络。 但与上面的链接问题不同,我想使用自 Android 4.0 以来可用的官方 Android WiFi Direct API。

那么有没有一种方法不仅可以通过 WiFi Direct 连接 2 个设备,还可以连接三个或更多设备?那么消息可以使用中间的几个其他设备从一个设备传递到另一个设备(因此在发送者和接收者之间跨越更大的距离)?

Wifi Direct demo 仅适用于配对两个设备,我找不到其他方法。

谢谢!

【问题讨论】:

  • 链接中的 Calvin,为此使用了 Android API。

标签: android wifi-direct


【解决方案1】:

有没有办法不仅可以通过 WiFi Direct 连接 2 台设备,还可以连接 3 台或更多设备?

是的,Wi-Fi Direct 规范说明可以创建一对多连接。其中一个设备将充当组所有者(将其视为接入点)。 在一些测试中,我已经能够创建一个包含 3 个设备的 Wi-Fi Direct 网络。

由于所有设备都必须在组所有者的范围内,您可以确定您的消息会到达第二个客户端。 第一个客户 -> 组所有者 -> 第二个客户

【讨论】:

  • 法比恩,你能解释一下你是怎么做到的吗?我已经为我正在开发的应用程序成功连接了 2 个对等点,但在线开发人员指南似乎都没有解释我如何连接其他对等点。
  • 嗨 Chucky,考虑到 2 个设备已连接,其中一个是组所有者 (GO)。在您的第三台设备上,您应该执行“requestPeers”。当对等点列表可用时,您可以向其中一个设备发送“连接”请求。如果失败,您应该识别 GO 并将连接请求发送到此特定设备。
  • Fabien,我按照你的建议做了,但是在尝试连接到组所有者时失败,给我这个错误:在 5000 毫秒后无法连接到 /192.168.49.1(端口 8988):isConnected 失败: ECONNREFUSED(连接被拒绝),你知道我该如何解决这个问题吗?
  • 我需要连接到多个设备(大约 40 多个),您有任何示例代码参考或解决方案可以开始吗?我已经使用两台设备进行了测试,它对我有用,但无法使用超过 2 台。
  • 任何人,请提供连接多个设备的演示链接。
【解决方案2】:

是的,没有任何限制。我们已经对 5-6 台设备进行了试验——除此之外,目前还不能很好地扩展。

这是 JellyBean 上的挂毯视频 - http://www.youtube.com/watch?v=6emgRvH4mTo&list=UUQmz9albYeqArJvmpmaQpGQ&index=1&feature=plcp

【讨论】:

  • Irfan,我也想连接多个设备制作组。我完成了简单的一对一发送。你能指导我如何在 wifi-direct 中创建群组吗?这将是很大的帮助。
【解决方案3】:

您可以使用 Java NIO(非阻塞 IO)来做到这一点 Wifi Direct中还有一个选项可以创建组,使用该组,组自己将用作服务器并可以广播消息。 使用多个客户端和一个服务器,所有设备都可以通过组相互通信。

【讨论】:

    【解决方案4】:

    要将另一台设备连接到 p2p 组: 在 GO 设备类型上:

    sudo wpa_cli wps_pbc
    

    在你想加入的新设备上:

    sudo wpa_cli p2p_connect <GO-MAC-address> pbc join
    

    关注本站:http://processors.wiki.ti.com/index.php/OMAP_Wireless_Connectivity_NLCP_WiFi_Direct_Configuration_Scripts#Connect_in_pbc_.28Push_button_Control.29

    【讨论】:

    • 问题是关于android的