这个问题在这里已经有了答案:InetAddress.getLocalHost()throwsUnknownHostException(9个回答)关闭6年前。它对我来说工作正常,但在OSXMavericks上,对于特定客户InetAddress.getLocalHost()在Java7上失败,尽管它在Java6上工作正常,但有以下异常java.net.UnknownHostException:rupert:rupert:nodenamenorservnameprovided,ornotknownatjava.net.InetAddress.getLocalHost(InetAddress
我的应用程序使用多播来定期发送信标以及加入多播组的主机的协议(protocol)消息和ip。在android设备中,它返回127.0.0.1。我环顾四周,发现很多人建议更改主机文件。但是,如果是android,在我的上下文中是不可能的。如何获得设备的真实IP,而不是环回地址..privatevoidgetLocalAddress(){try{StringlocalHost=InetAddress.getLocalHost().getHostAddress();servers.add(localHost);}catch(UnknownHostExceptione){e.printStac
知道InetAddress.getLocalHost()方法是可以获取本地ip的,但是在mac电脑上执行的时候,偶尔会得到127.0.0.1的输出,这样拿到本地ip很不稳定,感觉就很不靠谱了目录InetAddress.getLocalHost()方法获取本地IP不靠谱原因获取本地IP的靠谱方法代码避坑注意代码中是返回和网络接口绑定的所有IP地址解决InetAddress.getLocalHost()方法获取本地IP不靠谱代码publicstaticvoidmain(String[]args)throwsException{InetAddressaddr=InetAddress.getLocal
使用以下代码:try{System.out.println(newDate());InetAddresshostName=InetAddress.getLocalHost();System.out.println(newDate());}catch(UnknownHostExceptione){e.printStackTrace();}我得到这个输出:ThuOct2220:58:22BST2015ThuOct2220:58:52BST2015换句话说,执行时间为30秒。机器是带有Java1.8.0_60的2015MacbookPro。为什么需要这么长时间?
使用以下代码:try{System.out.println(newDate());InetAddresshostName=InetAddress.getLocalHost();System.out.println(newDate());}catch(UnknownHostExceptione){e.printStackTrace();}我得到这个输出:ThuOct2220:58:22BST2015ThuOct2220:58:52BST2015换句话说,执行时间为30秒。机器是带有Java1.8.0_60的2015MacbookPro。为什么需要这么长时间?
我有一个build.gradle任务,它在我的开发箱中像冠军一样工作,生成一个属性文件,该文件记录了生成生成的机器的名称。逻辑很简单...defhostname=InetAddress.getLocalHost().getHostName();在我的开发箱中,这总是产生与我从bashshell中生成主机名相同的值。bobk-mbp:DM_Serverbobk$hostnamebobk-mbp.local然而,在我们的jenkinsCI服务器上,bash主机名返回一件事,但我调用InetAddress.getLocalHost().getHostName();返回其他东西。需要在jenk
这个问题在这里已经有了答案:javaInetAddress.getLocalHost();returns127.0.0.1...howtogetREALIP?(11个答案)关闭9年前。我的问题类似于this问题。我想获取我机器的真实IP(不是127.0.0.1),但奇怪的是,我的Ubuntu中的以下代码返回127.0.1.1InetAddress.getLocalHost().getHostAddress()下面是我的完整代码,最初发布在SO中herepublicStringgetMachineIP(){try{StringhostIP=InetAddress.getLocalHost
我使用下面的代码打印出使用java1.5的linuxbox的主机名publicstaticvoidmain(Stringa[]){System.out.println(InetAddress.getLocalHost().getCanonicalHostName());}当我的系统主机名是一个64字符长度的字符串时,代码只打印“localhost.localdomain”。如果我的主机名长度小于64,它会正确打印出主机名。系统的最大主机名长度为64(getconfHOST_NAME_MAX给出64)这里可能有什么问题?这可能是一个错误吗(虽然,我倾向于认为问题在我这边)感谢您的帮助!
我需要与不懂java的网络管理员沟通,以解决在运行getLocalHost()时显示的网络设置问题。该框位于两个网络上,getLocalHost()返回错误的网络。在我们所有其他服务器上,这不会发生。我希望能够使用命令行向网络管理员显示出问题了。但是我对linux网络命令不够熟悉,不知道该调用什么。 最佳答案 尝试如下hostname命令,hostname--all-ip-address|cut-d''-f1如果上面的方法不起作用,请按如下方式尝试ifconfig,ifconfigeth0|grep'inetaddr:'|awk'{
我正在编写一个简单的网络应用程序。我需要知道我的机器在网络上的真实IP,比如192.168.1.3。getLocalHost返回127.0.0.1(在Linux上,不知道在windows上是不是一样)。怎么做? 最佳答案 如果您真的想使用机器上的所有IP地址,您可以使用NetworkInterface类获取这些地址。当然,您需要实际使用哪一个,但这取决于您使用它的目的,或者您可能需要扩展使用它的方式以考虑多个地址。importjava.net.*;importjava.util.*;publicclassShowInterfaces