是否可以让Android(> 4.0)设备与Mac OS或Windows设备建立WiFi-Direct连接?
答案 0 :(得分:5)
根据Wifi-Direct Docs协议允许:
Android 4.0(API级别14)或更高版本的设备,使用适当的硬件通过Wi-Fi直接相互连接
Google似乎不会通过API提供此功能。虽然WiFi-Direct不是专有协议,但可以在任何平台上实施。网络上有一些帖子试图让Wifi-Direct在Windows下工作:
答案 1 :(得分:-6)
您只需要使用java.net.Socket。取决于建立直接连接的意思。在目标设备(Windows或Mac)上通过ServerSocket打开侦听套接字时建立TCP连接。在其他设备上,您可以使用带有目标地址的Socket。当然,windows或mac box必须在防火墙中打开该端口。
我猜你真正需要知道的是如何获取目标计算机的名称或如何在本地网络上发现计算机。不幸的是,它不依赖于我认为的Android版本。您应该查看http://en.wikipedia.org/wiki/Zero_configuration_networking一些提示。我担心在android上打开特权端口可能会有问题,因为通常你必须是root用户。这需要root用户。
当然,您应该指定您对直接连接的意图以及您需要的软件。如果两端都有您的应用程序,您可以在android上打开任何未分配和未分配的端口。使用UDP定期广播android设备的名称(可以要求用户输入他设备的名称)。使用多播发送请求,并以相同的方式接收回复。多播发送和接收将需要您的应用程序在Android和Windows和Mac上。现在,您可以从多播应用程序中读取它是什么类型的计算机,以及它为您的直接连接打开的本地端口。从udp消息的来源,你知道在哪里连接。
您可以使用一些框架来加快速度。所有这些都需要一些关于网络的知识,但我不知道更简单,更好的解决方案。除非您提供有关您的直接联系的详细信息。