jjzjj

InetAddress

全部标签

java - 如何及时检测网卡是否与Java连接?

Java中有一个API(NetworkInterface、InetAddress等),我可以用它检测网卡未连接。问题是寻址某些网络API的超时时间很长。但是如果网卡没有连接任何电缆那么我们可以跳过它。该问题似乎只出现在Windows7上。 最佳答案 我遇到了同样的问题。我最终使用了这个:Enumerationeni=NetworkInterface.getNetworkInterfaces();while(eni.hasMoreElements()){Enumerationeia=eni.nextElement().getInetA

java - 静态 InetAddress.getLoopbackAddress() 返回什么?

Java7向类java.net.InetAddress添加了一个新的静态方法:staticInetAddressgetLoopbackAddress()Returnstheloopbackaddress.现在我想知道结果中将包含什么地址,是IP4还是IP6。documentation对这个问题有点模糊:TheInetAddressreturnedwillrepresenttheIPv4loopbackaddress,127.0.0.1,ortheIPv6loopbackaddress,::1.TheIPv4loopbackaddressreturnedisonlyoneofmanyin

Java 编译器错误 : "public type .. must be defined in its own file"?

我正在尝试编译这个: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 InetAddress.isReachable() 超时

我试图查明我网络上的特定主机是否可以访问。我的java代码如下:InetAddressadr=InetAddress.getByName(host);if(adr.isReachable(3000)){System.out.println(host+"isreachable");}这工作得很好,但是如果我将超时设置为500毫秒,它将不再指定主机可达。我计划循环检查不少主机,因此超时时间短非常重要。如果我从Windows命令行手动ping主机,它需要不到10毫秒。那么为什么Java方法需要更高的超时才能成功呢?除了使用isReachable()之外,还有其他选择吗?

java - 查找本地网络中的所有IP地址

我想使用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不幸的是,这不会打印出任何结果,这意味着无

JAVA 使用 InetAddress 指定端口

我正在使用InetAddress来确定我的服务器是否在线。如果服务器离线,它将重新启动服务器。此过程每5分钟循环一次,以再次检查服务器是否在线。它工作正常,但现在我需要弄清楚如何在检查服务器状态时指定我想使用端口43594而不是默认端口80。谢谢!这是我的代码:importjava.net.InetAddress;publicclassTestextendsThread{publicstaticvoidmain(Stringargs[]){try{while(true){try{InetAddressaddress=InetAddress.getByName("cloudnine199

java - 为什么 InetAddress.getLocalHost() 的这种用法在 Java 6 上工作正常,但在 OSX 上的 Java 7 上却失败了

这个问题在这里已经有了答案:InetAddress.getLocalHost()throwsUnknownHostException(9个回答)关闭6年前。它对我来说工作正常,但在OSXMavericks上,对于特定客户InetAddress.getLocalHost()在Java7上失败,尽管它在Java6上工作正常,但有以下异常java.net.UnknownHostException:rupert:rupert:nodenamenorservnameprovided,ornotknownatjava.net.InetAddress.getLocalHost(InetAddress

java - Java中的DNS查询

我正在用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(

java - InetAddress.getByName(host).isReachable(timeout) 的最佳替代方案

我正在尝试联系主机并获得以下代码if(!InetAddress.getByName(host).isReachable(TIMEOUT)){thrownewException("Hostdoesnotexist::"+hostname);}我可以从Windowsping的主机名,也对其进行了tracert,它返回了所有数据包。但是java抛出异常“主机不存在::”;我试验的超时值从2000毫秒到5000毫秒。我也试过3000。我无法理解这个问题的原因是什么。我在网上进行了研究,有人说InetAddress.getByName(host).isReachable(time)不可靠并且根据

java - 使用Java测试两个IP是否在同一个网络中

如何根据子网掩码判断两个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