- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 Java 在一个类中构建一个简单的方法,该方法将获取用户计算机的 LAN IPv4 地址。对于大多数部分,这很好用,除了一个异常(exception)......我得到的 IP 地址是我的 VirtualBox 以太网适配器的 IPv4 地址,正如我输入 ipconfig
时所证明的那样> 进入命令提示符:
这是获取IP地址的方法:
import java.net.InetAddress;
import java.net.UnknownHostException;
...
private String getIP() {
try {
return InetAddress.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
return "0.0.0.0";
}
}
谁能告诉我如何解决这个问题?我不想假设最终用户不会安装 VirtualBox(或类似的东西)。
感谢您的宝贵时间。
最佳答案
我认为您需要查看 NetworkInterface 类,看看在这种情况下它是否可以帮助您排除虚拟接口(interface):
for (NetworkInterface networkInterface : Collections.list(NetworkInterface.getNetworkInterfaces())) {
//Perhaps networkInterface.isVirtual() will help you identify the correct one?
}
我的设置中没有任何虚拟接口(interface),所以我不知道它的效果如何,但我希望这能给你一个指导。
关于Java getHostAddress() 返回 VirtualBox IPv4 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8219664/
我写了一个小测试程序,它使用 Dns.GetHostAddresses 来解析主机名。如果我输入一个不存在的主机名,它会抛出一个 SocketException 并且消息将是 No such host
我一直试图找到使用 GetHostAddresses 或 GetHostEntry 的正确位置。我通过阅读这篇文章 (http://msdn.microsoft.com/en-us/library/m
我正在编写一个使用 C# 解析域 IP 地址的脚本 问题是我有很多域无法解析为 IP,因此代码 (Dns.GetHostAddresses) 运行了很长时间,试图解析域的 IP没有 IP。 这是代码:
InetAddress address= InetAddress.getLocalHost(); System.out.println(address.getHostName()+ "------"+
我正在尝试使用 WifiManager 和 WifiInfo 类获取我的手机 IP 地址。 它返回正确的 ip 地址反转。 public String getWifiIpAddress() {
我有一个用 Java 编写的遗留服务器应用程序,在过去的六年里,它在运行 Java 6 的 Windows 2003 机器上运行良好。 我们最近将应用程序迁移到运行最新版本 java 的全新 wind
这是我尝试过的: @Test public void local_host_test() { InetAddress inetAddress = Mockito.mock(InetAddres
我正在开发 uwp 应用程序。我编辑了主机文件并将 www.example.com 重定向到本地服务器 IP (192.168.1.187)。在浏览器中网站加载正确但在应用程序中 System.Net
Dns.GetHostAddresses 真的能取回所有注册的 IP 吗? 也就是说,DNS 可以针对一个 DNS 名称注册多个 IP,以用于循环类型目的(例如,多个代理服务器,但使用一个主要的 DN
我有两个设备 - Note 3 (N9005) 和 G Pad 8.3(也用 Nexus 4 而不是 note 3 进行了测试,结果相同)。 当我在 Note 3 是组所有者时创建 Wifi P2P
我尝试了 InetAddress.getLocalHost().getHostAddress() 来获取用户的互联网地址。它给了我 127.0.1.1 但我正在寻找更像 192.168.1.75 的东
我想加入要在消息框中显示的字符串,但不确定为什么会在这一行出现错误: IPAddress[] ips = Dns.GetHostAddresses(he.HostName); var addr = s
是InetAddress.getHostAddress() JDK 1.6 是否兼容 ipv6? 具体我在做什么 InetAddress.getLocalHost().getHostAddress()
我正在使用 Java 在一个类中构建一个简单的方法,该方法将获取用户计算机的 LAN IPv4 地址。对于大多数部分,这很好用,除了一个异常(exception)......我得到的 IP 地址是我的
我正在创建 TCP 套接字应用程序。在服务器端, ss = new ServerSocket(10000); Socket socket = ss.accept(); String remoteIp
我已经对此进行了相当多的搜索,但仍然没有任何运气。问题是,如果我从我的服务器进行 nslookup,如果主机有 IPv6 地址,我会在列表中看到它。但是,如果我使用 .Net System.Net 的
因此,我正在使用 Xamarin 和 .net 在 iOS 项目中实现 uPNP。我一直在努力为本地设备(即运行程序的设备)获取有效的本地 IP 地址。 我已尝试使用 NetworkInterface
用下面的代码 InetAddress.getLocalHost().getHostAddress(); 可以获取主机地址。但是 JVM 是如何发现它的呢? Java API 只告诉您它返回它 ( AP
我正在使用一个库,该库使用 java.net.InetAddress.getLocalHost().getHostAddress() 来获取我的本地 IP 地址。但是,这总是在我的计算机上返回一个 I
我正在开发一个 Android 应用程序,它可以返回连接到 WI-FI 网络的设备的 IP 地址。当我使用代码时 InetAddress.getLocalHost().getHostAddress()
我是一名优秀的程序员,十分优秀!