Android - 获取我的热点主机的IP
问题描述:
我试图通过套接字连接2个设备,以便它们可以交换数据。他们也通过WiFi热点连接。我正在使用服务。设备1是热点(其中实现了ServerSocket),设备2是连接到它(Socket实现的地方)的设备。 我做了一些研究,我能够得到他们每个人的IP(但在他们自己的班级计算)。但为了让我创建客户端套接字,我需要另一个类中的主机(作为热点工作的电话)的IP地址。我无法在服务器端获得它,因为这部分代码不会被执行,因为我使用一个电话创建热点网络,而另一个连接到它。Android - 获取我的热点主机的IP
我知道,共享设备的IP地址通常是相同的,但我不能相信这一点,因为我必须确保它可以在所有手机上使用。
那么,我怎样才能得到服务器(热点主机)在客户端(手机连接到该热点)服务的IP地址?
答
确定网关的IP。 Programmatically getting the gateway and subnet mask details。使用WifiManager.getDhcpInfo().gateway
。
你如何确定客户端上的客户端的IP地址? – greenapps
http://stackoverflow.com/questions/5387036/programmatically-getting-the-gateway-and-subnet-mask-details – greenapps
为了得到客户端的IP地址,我使用了inetAddress中的getHostAddress()。我会得到一个networkinfo列表,然后我会为每个这些网络配置获取inetaddress,然后调用getHostAddress()作为不是loopbackaddress的对象。类似这样的东西:http://stackoverflow.com/a/10199498/6634292 –