0

我正在使用Java 技术进行开发。我需要使用以前分配的动态 ip 找到系统的动态分配的 IP 地址

有两种情况:

1.首先,我将以前的IP存储在我的数据库中,因此需要使用以前的 IP 查找 IP。

2.当用户连接任何USB调制解调器/加密狗时,动态IP会自动改变,因此如何在以前的IP的帮助下获得新分配的IP。

到目前为止,我尝试了很多东西,但在这方面没有得到有用的帮助。我想找到只使用java技术的ip,因为我从来没有从事过这样的任务。

4

1 回答 1

2

无法根据之前的 IP 地址找到系统的当前 IP 地址。但是,您不需要这样做。如果您的系统配置正确,那么您应该能够找出它的 IP 地址是什么......独立于它之前的地址。

本问答涉及在 Java 中查找系统当前 IP 地址的问题。(不幸的是,如果您的系统有多个网络接口和/或多个 IP 地址,它会变得有点复杂。)


另一方面,如果您试图为您的机器动态分配或获取 IP 地址,最好不要在 Java 中这样做。有各种各样的事情需要在系统级别(和其他系统)完成才能使其工作。(阅读 DHCP 以及网络配置如何适用于您的操作系统。)


我已将所有 ips 存储在服务器数据库上,但是当我的客户端 IP 更改时,如何自动更新我的服务器数据库 IP 唯一。

我认为您想更改客户端的数据库条目,但您不知道客户端的旧 IP 地址是什么。

除非您对客户端有一些其他识别特征(例如 cookie 值),否则我认为这是不可能的。新 IP 地址不会告诉您旧 IP 地址是什么,并且没有标准的网络服务可以为您执行此操作。(如果您有权访问 DHCP 服务器日志,您可能能够弄清楚。但这些日志将无法用于普通的 Java 应用程序。首先,它们将在另一台机器上......)

基本上,IP 地址不是客户端的稳定标识符。如果你需要一个稳定的(或可追踪的)标识符,你需要使用别的东西;即IP地址以外的东西。

于 2014-11-17T10:30:25.680 回答