9

是否可以让 Android (>4.0) 设备与 Mac OS 或 Windows 设备建立 WiFi-Direct 连接?

4

2 回答 2

5

根据Wifi-Direct Docs,该协议允许:

Android 4.0(API 级别 14)或更高版本的设备,具有适当的硬件,可通过 Wi-Fi 直接相互连接

谷歌似乎没有通过 API 提供此功能。虽然 WiFi-Direct 不是专有协议,但可以在任何平台上实现。网上有一些帖子试图让 Wifi-Direct 在 Windows 下工作:

于 2012-07-30T14:07:25.160 回答
-7

您只需要使用 java.net.Socket。取决于建立直接连接是什么意思。当您在目标设备(Windows 或 Mac)上通过 ServerSocket 打开侦听套接字时,就会建立 TCP 连接。在其他设备上,您可以使用带有目标地址的 Socket。当然,windows 或 mac 盒子可能必须在防火墙中打开该端口。

我想您真正需要知道的是如何获取目标计算机的名称或如何发现本地网络上的计算机。不幸的是,我认为它不依赖于 android 版本。您应该查看http://en.wikipedia.org/wiki/Zero_configuration_networking以了解一些提示。我担心需要在 android 上打开特权端口可能会出现问题,因为通常你必须是 root。那将需要有根的android。

当然,您应该指定使用该直接连接的目的以及您需要什么软件。如果两端都有您的应用程序,您可以在 android 上打开任何未分配和未授权的端口。使用 UDP 定期广播 android 设备的名称(适当要求用户输入他的设备名称)。使用多播发送请求,并以相同的方式接收回复。多播发送和接收将需要您在 android 和 windows 以及 mac 上的应用程序。现在您可以从多播应用程序中读取它是什么类型的机器,以及它为您的直接连接打开的本地端口。从 udp 消息的来源,您知道在哪里连接。

您可以使用一些框架来加快速度。所有这些都需要一些有关网络的知识,但我不知道更简单且运行良好的解决方案。除非您提供有关您的直接联系的详细信息。

于 2012-07-30T14:14:43.213 回答