是否可能让Android(>4.0)设备与Mac OS或Windows设备建立WiFi-Direct连接?
是否可能让Android(>4.0)设备与Mac OS或Windows设备建立WiFi-Direct连接?
你所需要的只是使用java.net.Socket。这取决于你所说的建立直接连接的含义。当在目标设备(Windows或Mac)上通过ServerSocket打开监听套接字时,TCP连接就建立了。在其他设备上,您可以使用带有目标地址的Socket。当然,Windows或Mac电脑可能需要在防火墙中打开该端口。
我猜你实际上需要知道的是如何获取目标计算机的名称或如何发现本地网络上的计算机。不幸的是,我认为这与Android版本无关。您应该查看http://en.wikipedia.org/wiki/Zero_configuration_networking以获取一些提示。我担心在Android上需要打开特权端口,因为通常您必须成为root才能这样做。而这将需要rooted Android。
当然,您应该明确指定直接连接的意图以及所需的软件。如果两端都有您的应用程序,则可以在Android上打开任何未分配和非特权端口。使用UDP定期广播Android设备的名称(可能要求用户输入其设备的名称)。使用组播发送请求,并以相同的方式接收回复。组播发送和接收需要您的应用程序在Android、Windows和Mac上都存在。现在,您可以从组播应用程序中读取它是什么类型的机器,以及它留下了哪个本地端口供您进行直接连接。从UDP消息的源头,您知道要连接到哪里。
您可以使用一些框架来加快速度。所有这些都需要一些关于网络的知识,但我不知道是否有更简单和有效的解决方案。除非您提供有关直接连接要执行的详细信息。