标签: inetaddress

Java中的isReachable看起来并没有像预期的那样工作

我正在使用Clojure,但我可以阅读Java,所以这不是Clojure特定的问题.这甚至似乎都不适用于Java.

我正在尝试使用isReachable实现一些'ping'功能.我正在使用的代码是这样的:

(.isReachable (java.net.InetAddress/getByName "www.microsoft.com") 5000)
Run Code Online (Sandbox Code Playgroud)

我的一位好朋友翻译成Java:

public class NetTest {
  public static void main (String[] args) throws Exception{
    String host = "acidrayne.net";
    InetAddress a = InetAddress.getByName(host);

    System.out.println(a.isReachable(10000));
  }
}
Run Code Online (Sandbox Code Playgroud)

这两个都返回false.我想我一定是做错了,但谷歌的研究告诉我的不同之处.我很困惑!

java ping clojure inetaddress

5
推荐指数
1
解决办法
5695
查看次数

Java InetAddress.getHostName()需要很长时间才能执行

我有以下小代码片段:

        InetAddress address = InetAddress.getByName(host);
        if(address.isReachable(TIMEOUT_IN_MILLISECONDS)) {
          System.out.println(host + " is reachable.");
          String hostName = address.getHostName();
          System.out.println(hostName);
        }
Run Code Online (Sandbox Code Playgroud)

如果找到机器,getHostName()方法需要相当长的时间才能执行.有人可以解释一下原因吗?

java inetaddress

5
推荐指数
1
解决办法
6847
查看次数

如何使用python-netaddr获取子网和IPv4地址时的IP前缀?

我正在使用python-netaddr库来处理IP地址和子网.我阅读了netaddrd的完整文档:Netaddr文档.但没有找到解决我问题的方法.我有一个IP地址和子网我想通过使用它们获得该IP的前缀.这样我就可以打印所有进入子网的ip.

例如:

Ip Address: 192.0.2.0
Subnet Network: 255.255.255.0

It should return the prefix which is : 24
Run Code Online (Sandbox Code Playgroud)

python ip ip-address inetaddress python-2.7

5
推荐指数
1
解决办法
2万
查看次数

Java的.InetAddress.getLocalHost返回奇怪的IP

我不明白,为什么下面的代码打印0.0.9.229而不是127.0.0.1.任何人都可以告诉我,热门解决这个问题吗?

String ha = InetAddress.getLocalHost().getHostAddress();
System.out.println(ha);
Run Code Online (Sandbox Code Playgroud)

UPD:在Ubuntu上运行的代码

/ etc/hosts文件

127.0.0.1       localhost
127.0.1.1       2533
Run Code Online (Sandbox Code Playgroud)

java ip host localhost inetaddress

5
推荐指数
2
解决办法
6657
查看次数

将IPV4地址从字节转换为字符串

我目前正在尝试创建一个聊天服务器作为一项任务,并希望每条消息都包含一个标题.它将包含ipv4地址,后跟一个字母,然后是用户名

我可以很容易地从字节解码字符串字母,但现在我很难从字节解码ipv4地址

到目前为止,字节的表示是这样的

[-64,-88,1,5]

在ipv4点分四格式中,它将是192.168.1.5

我只需要一种方法来尝试将整数的四个字节解码为字符串或沿着这些行的某些东西

感谢:D

java inetaddress

5
推荐指数
1
解决办法
3101
查看次数

在Java中获取eth0接口的IP地址仅返回IPv6地址而不返回IPv4

我编写了以下代码,以获取我在计算机上使用的eth0接口的IPv4地址。但是,fe80:x:x:x:xxx:xxxx:xxxx:xxxx由于我正在查找IPv4地址,因此代码仅查找未返回的代码。

这是代码。

    interfaceName = "eth0";
    NetworkInterface networkInterface = NetworkInterface.getByName(interfaceName);
    Enumeration<InetAddress> inetAddress = networkInterface.getInetAddresses();
    InetAddress currentAddress;
    currentAddress = inetAddress.nextElement();
    while(inetAddress.hasMoreElements())
    {
        System.out.println(currentAddress);
        if(currentAddress instanceof Inet4Address && !currentAddress.isLoopbackAddress())
        {
            ip = currentAddress.toString();
            break;
        }
        currentAddress = inetAddress.nextElement();
    }
Run Code Online (Sandbox Code Playgroud)

java ipv4 inetaddress network-interface

5
推荐指数
1
解决办法
5974
查看次数

如何将Java类转换为其子类之一(SocketAddress和InetSocketAddress)

我试图以字符串形式获取套接字连接的IP.

我正在使用一个框架,它返回SocketAddress收到的消息.我怎样才能把它变成InetSocketAddressInetAddress

java sockets networking class inetaddress

4
推荐指数
1
解决办法
6860
查看次数

InetAddress getLocalHost()不从C:\ WINDOWS\system32\drivers\etc\hosts返回预期的IP地址

在文件C:\ WINDOWS\system32\drivers\etc\hosts中,我只有以下行

192.168.0.23    computername.domain.com   computername
Run Code Online (Sandbox Code Playgroud)

我跑的时候

InetAddress localhost = InetAddress.getLocalHost();
System.out.println("getLocalHost:" + localhost);
Run Code Online (Sandbox Code Playgroud)

我希望输出是

getLocalHost:computername/192.168.0.23
Run Code Online (Sandbox Code Playgroud)

但它出来了

getLocalHost:computername/192.168.0.107
Run Code Online (Sandbox Code Playgroud)

关于为什么会这样的想法?是否应该在其他文件中进行配置?

编辑

InetAddress.getByName('computername')
Run Code Online (Sandbox Code Playgroud)

产生与之相同的IP getLocalHost().

java networking localhost ip-address inetaddress

4
推荐指数
1
解决办法
2万
查看次数

如何从java中的给定ip获取下一个ip地址?

伙计们,

我正在寻找一个Java代码片段,它提供给定IP的下一个地址.

所以getNextIPV4Address("10.1.1.1")回归"10.1.1.2".

字符串运算可以完成,但最终可能会变得混乱.这样做是否有一种很正式的方式.

谢谢你的时间.

java ip-address ipv4 inetaddress

4
推荐指数
1
解决办法
4783
查看次数

在Python中给出IPv4 addreses列表,获取最小的网络

我正在使用python 2.6.6,我不允许更改它.我有一个IPv4地址的排序列表.我需要找到覆盖列表中所有IP地址的最小网络.最小的网络可以是CIDR,也可以是具有子网掩码的网络地址.我还没有找到一种使用netaddr模块的简单方法.这是一个例子:

x=['192.168.0.0', '192.168.2.245', '192.168.255.255']
cidr = get_cidr_for_addresses(x)
print cidr ##should print '192.168.0.0/16'
Run Code Online (Sandbox Code Playgroud)

python ip-address inetaddress

4
推荐指数
1
解决办法
1169
查看次数