我正在使用 Java技术进行开发。 我 需要使用之前分配的动态IP 查找系统的动态分配IP地址。
有两种情况:
1.首先,我将以前的 IP 存储在我的数据库中,因此需要使用以前的IP查找IP。
2.当用户连接任何 USB调制解调器/加密狗时,动态IP会自动更改,以便如何在之前的帮助下获取新分配的IP IP
直到现在我尝试了很多东西但却没有获得有用的帮助。我想找到仅使用Java技术的ip,因为我从不从事这样的任务。
答案 0 :(得分:2)
无法根据之前的内容找到系统的当前IP地址。但是,您不应该这样做。如果您的系统配置正确,那么您应该能够找到它的IP地址...独立于之前的状态。
This Q&A处理用Java查找系统当前IP地址的问题。 (不幸的是,如果您的系统有多个网络接口和/或多个IP地址,它会变得有点复杂。)
另一方面,如果您尝试为您的计算机动态分配或获取IP地址,则最好不要在Java中执行此操作。在系统级(以及其他系统)上需要完成各种各样的事情才能使其工作。 (阅读DHCP以及网络配置如何适用于您的操作系统。)
我已将所有ips存储在服务器数据库上,但是当我的客户端IP更改时,如何自动更新我的服务器数据库IP。
我认为你想要更改客户端的数据库条目,但是你不知道客户端的旧IP地址是什么。
除非您对客户有其他识别特征(例如cookie值),否则我认为不可能。新IP地址不会告诉您旧IP地址是什么,并且没有标准网络服务可以为您执行此操作。 (如果您有权访问DHCP服务器日志,您可能能够解决它。但是这些日志将无法用于普通的Java应用程序。首先,它们将在另一台计算机上...)
基本上,IP地址不是客户端的稳定标识符。如果您需要稳定(或可跟踪)的标识符,则需要使用其他标识符;即IP地址以外的东西。