Java 如何获取其他设备的对等IP地址

Java 如何获取其他设备的对等IP地址,java,android,eclipse,wifi-direct,wifip2p,Java,Android,Eclipse,Wifi Direct,Wifip2p,WIFIP2P设备仅提供MAC地址。 我想在requestPeers()之后获取其他设备的IP地址(而不是MAC地址)。 如何做到这一点?有一种方法可以做到这一点 将网络服务发现(NSD)添加到您的应用程序中,可以使用户识别本地网络上支持您的应用程序请求的服务的其他设备。这对于各种对等应用程序(如文件共享或多玩家游戏)非常有用 首先你需要做的是 1.在网络上注册您的服务 2.发现网络上的服务 3.连接到网络上的服务 4.在应用程序关闭时注销您的服务 完成3后,您的应用程序不会收到详细的服务信息

WIFIP2P设备仅提供MAC地址。

我想在requestPeers()之后获取其他设备的IP地址(而不是MAC地址)。
如何做到这一点?

有一种方法可以做到这一点

网络服务发现(NSD)
添加到您的应用程序中,可以使用户识别本地网络上支持您的应用程序请求的服务的其他设备。这对于各种对等应用程序(如文件共享或多玩家游戏)非常有用

首先你需要做的是

1.在网络上注册您的服务

2.发现网络上的服务

3.连接到网络上的服务

4.在应用程序关闭时注销您的服务

完成3后,您的应用程序不会收到详细的服务信息,包括
IP地址
端口号
。这是您创建自己的网络连接到服务所需的一切

查看详细信息(包括示例应用)。
第二个链接..

一旦设备连接到组中,WifiP2p将自动分配IP。基本上,组所有者充当DHCP服务器,将IP分配给组中的所有其他对等方,GO获得GO_IP=
192.168.49.1

分配一个角色,每当新设备连接时,通过读取文件
/proc/net/arp
向其发送MAC地址与IP地址的哈希图。现在,当您想要向MAC地址发送文件或消息时,请从该哈希映射读取其IP。但是对等方只能将消息发送到GO,因此您需要分配角色,如果消息是为GO_IP以外的IP发送的,则它会将其转发到相应的设备


如果您发现此解决方案有任何问题,请告诉我。

我在这里寻找您的建议,但我不知道如何从onConnectionInfoAvailable(最终WifiP2pInfo信息)获取GO_IP。我也找不到你提到的hashmap。你能详细说明一下吗?或者任何可以参考的链接?谢谢。如果您阅读系统文件
proc/net/arp
,您将获得当前连接到热点的设备列表。因此,当人们连接到您时,请阅读此文件并对其进行解析以获取硬件地址(MAC地址)和IP地址。您好@user2301281您是否正在尝试从
onConnectionInfoAvailable(final WifiP2pInfo info)
获取“组所有者IP地址”??可能重复的