Java中有一个API(NetworkInterface、InetAddress等),我可以用它检测网卡未连接。问题是寻址某些网络API的超时时间很长。但是如果网卡没有连接任何电缆那么我们可以跳过它。该问题似乎只出现在Windows7上。 最佳答案 我遇到了同样的问题。我最终使用了这个:Enumerationeni=NetworkInterface.getNetworkInterfaces();while(eni.hasMoreElements()){Enumerationeia=eni.nextElement().getInetA
Java7向类java.net.InetAddress添加了一个新的静态方法:staticInetAddressgetLoopbackAddress()Returnstheloopbackaddress.现在我想知道结果中将包含什么地址,是IP4还是IP6。documentation对这个问题有点模糊:TheInetAddressreturnedwillrepresenttheIPv4loopbackaddress,127.0.0.1,ortheIPv6loopbackaddress,::1.TheIPv4loopbackaddressreturnedisonlyoneofmanyin
我正在尝试编译这个:publicclassDNSLookUp{publicstaticvoidmain(String[]args){InetAddresshostAddress;try{hostAddress=InetAddress.getByName(args[0]);System.out.println(hostAddress.getHostAddress());}catch(UnknownHostExceptionuhe){System.err.println("Unknownhost:"+args[0]);}}}我使用了javacdns.java,但出现了一堆错误:dns.ja
我试图查明我网络上的特定主机是否可以访问。我的java代码如下:InetAddressadr=InetAddress.getByName(host);if(adr.isReachable(3000)){System.out.println(host+"isreachable");}这工作得很好,但是如果我将超时设置为500毫秒,它将不再指定主机可达。我计划循环检查不少主机,因此超时时间短非常重要。如果我从Windows命令行手动ping主机,它需要不到10毫秒。那么为什么Java方法需要更高的超时才能成功呢?除了使用isReachable()之外,还有其他选择吗?
我想使用Java代码查找当前连接到的本地网络中设备的所有IP地址。有用的实用程序AdvancedIPScanner能够在我的subnet中找到各种IP地址192.168.178/24:根据this回答,我按照以下方式构建了我的代码:importjava.io.IOException;importjava.net.InetAddress;publicclassIPScanner{publicstaticvoidcheckHosts(Stringsubnet)throwsIOException{inttimeout=100;for(inti=1;i不幸的是,这不会打印出任何结果,这意味着无
我正在使用InetAddress来确定我的服务器是否在线。如果服务器离线,它将重新启动服务器。此过程每5分钟循环一次,以再次检查服务器是否在线。它工作正常,但现在我需要弄清楚如何在检查服务器状态时指定我想使用端口43594而不是默认端口80。谢谢!这是我的代码:importjava.net.InetAddress;publicclassTestextendsThread{publicstaticvoidmain(Stringargs[]){try{while(true){try{InetAddressaddress=InetAddress.getByName("cloudnine199
这个问题在这里已经有了答案:InetAddress.getLocalHost()throwsUnknownHostException(9个回答)关闭6年前。它对我来说工作正常,但在OSXMavericks上,对于特定客户InetAddress.getLocalHost()在Java7上失败,尽管它在Java6上工作正常,但有以下异常java.net.UnknownHostException:rupert:rupert:nodenamenorservnameprovided,ornotknownatjava.net.InetAddress.getLocalHost(InetAddress
我正在用Java处理DNS服务。我专门尝试查找所有google.com地址并将它们显示在数组中,类似于使用nslookup运行查找:nslookup-q=TXT_netblocks.google.com8.8.8.8为此,我正在使用InetAddress,但我不断收到异常。由于异常指的是“未知主机”,我不认为InetAddress可以读取TXT记录(如果我使用google.com它可以工作,但不会显示完整的IP范围)。下面是我的代码:InetAddressdnsresult[]=InetAddress.getAllByName("_netblocks.google.com");for(
我正在尝试联系主机并获得以下代码if(!InetAddress.getByName(host).isReachable(TIMEOUT)){thrownewException("Hostdoesnotexist::"+hostname);}我可以从Windowsping的主机名,也对其进行了tracert,它返回了所有数据包。但是java抛出异常“主机不存在::”;我试验的超时值从2000毫秒到5000毫秒。我也试过3000。我无法理解这个问题的原因是什么。我在网上进行了研究,有人说InetAddress.getByName(host).isReachable(time)不可靠并且根据
如何根据子网掩码判断两个IP是否在同一网络?例如,我有IP1.2.3.4和1.2.4.3:如果掩码为255.0.0.0或255.255.0.0甚至255.255.248.0,则两者都在同一网络中,但如果掩码为255.255.255.0则不在同一个网络中。 最佳答案 试试这个方法:publicstaticbooleansameNetwork(Stringip1,Stringip2,Stringmask)throwsException{byte[]a1=InetAddress.getByName(ip1).getAddress();by