两台安卓手机之间使用Wi-Fi网络通信

3

我希望能在两个连接同一Wi-Fi网络的Android手机之间进行通讯。如果我知道IP地址,我可以直接使用socket来进行通讯,但我的问题是,是否可能在运行时获取IP地址?或者我可以用其他方式来做到这一点吗?


你说的在运行时获取IP地址是什么意思?是本地获取还是获取远程设备的IP? - user948620
请先搜索一下。有很多相同的问题。投票关闭。 - Simon
3个回答

6
您可以使用jmDNS来实现此功能。这是一个非常有用的库,一旦您检测到所有连接到同一Wifi的设备,就可以获取它们的IP和端口,以便建立连接。您可以在这里了解更多如何使用它。
或者您可以使用仅适用于API Level 14+的Android Wi-Fi Direct API。有关API的更多信息,请参见:Wifi-Direct
希望这正是您要寻找的!:)

由于某些原因,我无法使JmDNS工作。因此,我使用https://github.com/4ntoine/ServiceDiscovery-java,因为我正在同时处理服务端和客户端。 - 4ntoine

1

0

假设两个设备在同一个本地网络中,您可以使用/编写一种IP扫描器(检查每个单独的IP地址是否存活,如果是,则尝试连接)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接