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

时间:2015-05-15 14:55:57

标签: java android eclipse wifi-direct wifip2p

WifiP2pDevice仅提供MAC地址。 http://developer.android.com/reference/android/net/wifi/p2p/WifiP2pDevice.html

我想在requestPeers()之后获取其他设备的IP地址(但不是MAC地址)。 怎么办呢?

2 个答案:

答案 0 :(得分:2)

有一种方法可以实现这一目标......

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

首先你需要做

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

2. 在网络上发现服务

3. 连接到网络上的服务

4. 在应用程序关闭时取消注册您的服务

完成 3 无积分后,您的应用会收到详细的服务信息,包括IP addressport number。这是创建自己的服务网络连接所需的一切。

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

答案 1 :(得分:2)

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

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

如果您发现此解决方案有任何问题,请与我们联系。