相关疑难解决方法(0)

如何从代码中获取设备的IP地址?

是否可以使用某些代码获取设备的IP地址?

android ip-address

353
推荐指数
13
解决办法
39万
查看次数

Java获取本地IP

我试图获得本地IP.它应该合作

System.out.println(Inet4Address.getLocalHost().getHostAddress());
Run Code Online (Sandbox Code Playgroud)

要么

InetAddress addr = InetAddress.getLocalHost();
ip = addr.getHostAddress();
System.out.println("Ip: " + ip);
Run Code Online (Sandbox Code Playgroud)

但它总是返回192.168.178.154而不是192.168.178.119(这是我真正的本地IP(终端 - > ifconfig))

我该怎么办?

java ip local

22
推荐指数
2
解决办法
7万
查看次数

Java,DatagramPacket接收,如何确定本地ip接口

这是绑定到所有ip接口和特定udp端口的简单情况:

int bindPort = 5555;  // example, udp port number
DatagramSocket socket = new DatagramSocket(bindPort);

byte[] receiveData = new byte[1500];
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);

...

socket.receive(receivePacket);
Run Code Online (Sandbox Code Playgroud)

我怎么知道我收到了哪个ip接口的数据包?

我可以看到有getSocketAddress():

获取此数据包发送到或来自的远程主机的SocketAddress(通常是IP地址+端口号).

但是返回远程ip +端口.我想知道本地ip(在这个例子中本地端口是5555).

有没有可能与标准.Java库?

java datagram

8
推荐指数
1
解决办法
2889
查看次数

Java:如何获取可以到达远程IP的本地接口的IP?

我有一个 Java 应用程序,它在服务提供者中注册服务器组件,然后将服务名称发送到客户端。客户端使用服务名称从服务提供者那里获取到服务器的地址。但是,服务器有多个接口,客户端只能访问其中的一个接口,因此必须使用正确的 IP 注册服务。我们通过广播发现了客户端,所以我有客户端 IP 和计算机网络接口的枚举。在不知道客户端 IP 的网络掩码是什么的情况下,如何将 IP 与接口匹配?

我不自觉地想象将所有地址都转换为整数,并使用他们的网络掩码对本地 ip 进行处理并寻找“最佳匹配”,但我想知道是否有更好的方法?

(这是一个企业(tm)解决方案,因此切断服务提供商不是一种选择,至少不是首先没有政治运动;))

java lookup ip-address

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

如何使用Java获取系统IP?

我正在尝试创建一个Java程序来使用Java检索我的系统IP地址.在单击按钮时,显示的IP地址是一个文本框.

使用Netbeans的java中的IP

现在的问题是,每次我使用代码

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    try {
        jTextField1.setText(Inet4Address.getLocalHost().toString());
    } catch (UnknownHostException ex) {
        jTextField1.setText("IP not found");
    }
}  
Run Code Online (Sandbox Code Playgroud)

它只检索我的环回IP,而不是我在Ubuntu中配置的静态IP,其范围是192.16x.xxx.xxx这段代码在我的Windows 7上工作正常但在Ubuntu 11.04上没有,我不知道为什么.. .!我不想使用Windows开发应用程序或任何东西.

我只有2个问题

  1. 如何检索系统静态IP?
  2. 如果java是跨平台的,为什么这段代码在Windows上运行良好而在Ubuntu上运行不正常?

java networking netbeans

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

强制InetAddress.getHostAddress()返回IPv4地址

我正在使用一个java.net.InetAddress.getLocalHost().getHostAddress()用于获取本地IP地址的库.但是,这始终会在我的计算机上返回IPv6地址(Gentoo Linux,JDK 1.6.0_37).该地址还用于不支持IPv6地址的上下文中,因此失败.

有没有办法强制getHostAddress()返回IPv4地址(例如通过参数到JVM)?

java ipv4 ipv6

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

Spring boot - 如何获取运行端口和IP地址

我在启动 spring 启动应用程序时通过 shell 脚本传递端口。想知道如何在应用程序中获取运行端口和系统IP地址以打印在日志文件中。

脚本:-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9890

java spring spring-boot

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

如何用Java获取机器的IP地址

有没有办法可以用Java获取机器的IP地址?从我的jar文件运行的机器获取IP地址?

java ip-address

3
推荐指数
1
解决办法
8361
查看次数

如何从java中的请求获取客户端的浏览器ip?

我知道从java中的httprequest获取客户端的IP和服务器IP非常容易.是否有可能以任何方式获取客户端的浏览器IP.

提前致谢

java java-ee

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

getLocalHost() 显示错误的 IP 地址

我正在尝试执行以下代码。我是 Java 新手,所以这是我第一次接触 java.net。程序中没有错误,但我得到的本地主机地址为 192.168.56.1,而我的 IP 为 192.168.2.10

import java.net.*;
class InetAddressDemo
{
    public static void main(String[] args)
    {
        try
        {
            InetAddress address = InetAddress.getLocalHost();
            System.out.println("\nLocalhost Address : " + address + "\n");
        }
        catch (Exception e)
        {
            System.out.println(e);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java ip inetaddress

3
推荐指数
1
解决办法
4600
查看次数

无法在ServletRequest中获取客户端的IP

我正在尝试使用此方法获取远程IP:

String remoteAddress = ((ServletRequestAttributes) RequestContextHolder
                .currentRequestAttributes()).getRequest().getRemoteAddr();
Run Code Online (Sandbox Code Playgroud)

我在控制器中调用它,但它返回0:0:0:0:0:0:0:1.怎么了?

java ip spring servlets

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

Java应用程序无法使用静态IP获取docker容器中主机的IP地址

我使用OpenStack一段时间来管理我的应用程序.现在我想将它们作为每个应用程序的容器转移到docker,因为docker更轻巧,更高效.

几乎与网络相关的每件事都在运行时出错了.

在我的设计中,每个应用程序容器都应该有一个静态IP地址,我可以使用hosts文件来定位容器网络.

这是我的实施.(bash文件名是docker_addnet.sh)

# Useages
# docker_addnet.sh container_name IP
# interface name: veth_(containername)
# gateway 172.17.42.1

if [ $# != 2 ]; then
    echo -e "ERROR! Wrong args"
    exit 1
fi

container_netmask=16
container_gw=172.17.42.1

container_name=$1
bridge_if=veth_`echo ${container_name} | cut -c 1-10`
container_ip=$2/${container_netmask}
container_id=`docker ps | grep $1 | awk '{print \$1}'`
pid=`docker inspect -f '{{.State.Pid}}' ${container_name}`

echo "Contaner: " $container_name "pid: " $pid

mkdir -p /var/run/netns
ln -s /proc/$pid/ns/net /var/run/netns/$pid

brctl delif docker0 $bridge_if

ip link add A type veth …
Run Code Online (Sandbox Code Playgroud)

docker

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

我想知道网络中机器的IP地址.为什么我得到127.0.0.1?

为什么我得到IP地址为127.0.0.1

这是我用于获取IP地址的示例程序

package com;

import java.net.InetAddress;    
import org.apache.log4j.Logger;

public class Test {
    private static final Logger logger = Logger.getLogger(Test.class);

    public static void main(String args[]) throws Exception {
        String ips = InetAddress.getLocalHost().getHostAddress().trim();
        System.out.println(ips);
    }

}
Run Code Online (Sandbox Code Playgroud)

java

0
推荐指数
1
解决办法
334
查看次数