java获取本机ip的方法

这篇具有很好参考价值的文章主要介绍了java获取本机ip的方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

java获取本机ip的方法

 

Java中有一个类叫 Application,可以用来获取本机 ip,也可以用来获取网络连接的信息,例如网络上有什么主机、需要访问本机的主机名等。但是这个类只能在本机上使用,如果要访问外部的主机,还需要使用其它的方法。 首先在主程序中写一个 java. util. Application ()方法,然后在子类中定义一个 Application类,如图1所示。 通过这个类可以获取到本机 ip地址。当然,这个类不是只能在本机上使用,其他地方也可以使用。 2.在子类中定义一个 Application方法(方法名根据需要自己取)。 4.用上述方法获得本机 ip地址(方法名和子类都是自定义的)。 5.调用 application方法来获取本机 ip地址。 6.如果在 Java程序中使用了 Debug模式,那么在这一步可以用 Debug模式来获取本机 ip地址。但是如果采用的是动态 IP,那么就要用动态 IP协议来获取本机 ip地址。

  • 一、获取动态 IP

    动态 IP是指路由器根据一定的规则,动态分配 IP地址,当主机从一个路由器转发数据时,路由器将这个 IP地址保存在自己的内存中,并在下一个周期根据该 IP地址计算出下一个周期的 IP地址。在动态 IP中,主机的 ip地址不固定。也就是说,在一次连接成功后,这个 ip地址是不会改变的。需要获取的是主机当前的动态 IP地址,即“本地动态 IP地址”。 Java中采用的动态 IP协议是 TCP/IP协议中的IPv4协议。IPv4协议与 Internet没有直接关系,其主要目标是在因特网上提供虚拟专用网服务。而 TCP/IP协议则是用于因特网上通信的三大基本协议之一。TCP/IP是建立在 TCP/IP之上的一整套规范,它规定了在因特网上进行通信时应遵循的一些规则(包括数据报格式、网络层传输格式、报头结构等)和接口规范。

  • 二、网络协议

    IP地址是一组数字,表示网络上的主机所处的位置。为了能让网络上所有的主机都能使用 IP地址,就需要一个协议。这个协议叫 IP协议,也叫网络协议。 在 TCP/IP协议中有三种不同的方式来表示网络中的主机地址。 第一种方式是用网络号来表示,第二种方式是用 IP地址来表示,第三种方式是用端口号来表示。因此,在 TCP/IP协议中,也是使用 IP地址和端口号来表示的。这里使用的是第三种方式。 要了解 IP地址和端口号之间的关系,可以看一下下面这个图: 根据图3所示,可以看到两个端口之间的连接情况。如果两个端口之间只有一条数据线,那么就是1;如果有两条数据线,那么就是2;如果有三条数据线,那么就是3。 对于三个端口之间的连接情况,我们可以用下面这个图来表示: 如图4所示,可以看出三个端口之间都有一条数据线。而这条数据线对应着相应的网络协议。

  • 三、基本配置

    1.首先打开 cmd命令窗口,在命令窗口中输入 cmd,回车。 2.在命令窗口中输入 ipconfig,回车。

  • 四、本地配置

    1.在 Java程序中用 Application方法获取本机 ip地址时,并不是直接调用本机的 application方法,而是使用一个 java. util. Application ()方法。如果有多个本地连接,那么可以使用多个 application方法。 2.在本地配置中,使用本机的 ip地址、端口、网段等信息。例如,在本机上的 ip地址为192.168.1.0,端口为80,那么需要将地址和端口分别设置为192.168.1.1和80。 3.使用 Debug模式来获取本机 ip地址时,只要设置了上述信息就可以了。 4.如果要获取的是动态 IP地址,那么需要将以上所有步骤都设置成自动。

  • 五、安全配置

    1.首先需要在 Java中对上述类库进行安全配置。方法是在类的 static成员方法中添加一个名为 test的安全参数,如图2所示。如果将 Test类加入到类库中,那么在程序运行时就会自动检测 test类是否为静态类。如果是静态类,就不能在程序运行时检测 test类,也就不能获取本机的 ip地址。 2.然后将 Test类添加到类库中,如图3所示。 4.将获取到的本机 ip地址和 test类绑定,如果需要访问外部的主机,那么需要使用动态 IP协议来访问,如果采用静态 IP协议,就可以获取到外部主机的 IP地址。 5.将获取到的本机 ip地址和 test类绑定,这样就可以使用 test类来访问外部主机了。

  • 六、网络配置

    1.进入网络配置界面,在“本地连接”窗口中,输入“连接到 Internet”并按回车键,即可启动 Internet。 2.进入 Internet,在“常规”选项卡中,选择“属性”。 3.点击“网络”,如图3所示,在弹出的对话框中输入“IP地址”并按回车键,然后再点击“属性”。如图5所示。 5.此时进入网络设置界面,在 IP地址前面添加子网掩码和网关即可完成网络配置。 6.到此完成了对本机 ip地址的获取。

  • 七、运行环境

    4.在上述配置环境变量的基础上,如果使用了网络适配器(Network Adapter),那么还需要配置网络适配器的相关变量。

以下是几种获取本机IP地址的Java代码:

1. 使用InetAddress类
```java
import java.net.InetAddress;
import java.net.UnknownHostException;
public class GetLocalIP {
public static void main(String[] args) {
try {
InetAddress localHost = InetAddress.getLocalHost();
System.out.println("本机IP地址:" + localHost.getHostAddress());
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
}
```
2. 使用NetworkInterface类
```java
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
public class GetLocalIP {
public static void main(String[] args) {
try {
Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
while (networkInterfaces.hasMoreElements()) {
NetworkInterface networkInterface = networkInterfaces.nextElement();
Enumeration<InetAddress> inetAddresses = networkInterface.getInetAddresses();
while (inetAddresses.hasMoreElements()) {
InetAddress inetAddress = inetAddresses.nextElement();
if (!inetAddress.isLinkLocalAddress() && !inetAddress.isLoopbackAddress() && inetAddress.isSiteLocalAddress()) {
System.out.println("本机IP地址:" + inetAddress.getHostAddress());
}
}
}
} catch (SocketException e) {
e.printStackTrace();
}
}
}
```
3. 使用System类
```java
public class GetLocalIP {
public static void main(String[] args) {
String localIP = null;
try {
localIP = InetAddress.getLocalHost().getHostAddress();
} catch (UnknownHostException e) {
e.printStackTrace();
}
System.out.println("本机IP地址:" + localIP);
}
}
```文章来源地址https://www.toymoban.com/news/detail-432802.html

到了这里,关于java获取本机ip的方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Gin:获取本机IP,获取访问IP

     获取本机IP  获取访问IP 参考来源: go+gin获取本机ip和获取访问ip - 简书

    2024年01月21日
    浏览(40)
  • vue获取本机ip地址

     mounted() {       this.getUserIP((ip)={          console.log(\\\'ip=\\\')          console.log(ip)       })     },    methods: {  getUserIP (onNewIP) {         //获取不到可能是因为chrome浏览器版本过高,需要修改浏览器配置如下         //在chrome地址栏输入:chrome://flags/#enable-webrtc-hide-local-ips-

    2023年04月09日
    浏览(42)
  • python获取本机的IP

    方法一: 通常使用socket.gethostbyname()方法即可获取本机IP地址,但有时候获取不到(比如没有正确设置主机名称),示例代码如下: 方法二: 这个方法获取本机服务器的IP。没有任何的依赖。 而是利用 UDP 协议来实现的,生成一个UDP包,把自己的 IP 放入到 UDP 协议头中,然后从

    2024年02月06日
    浏览(40)
  • Shell脚本中获取本机ip地址,Linux获取本地ip地址

    在 Shell 脚本中获取本机 IP 地址可以通过多种方式实现,这里介绍三种常用的方法: 1. 使用 ifconfig 命令获取本机 IP 地址 ifconfig 命令可以获取本机网卡的配置信息,包括 IP 地址。可以通过 grep 命令过滤出 IP 地址信息,再使用 awk 命令提取出具体的 IP 地址。示例代码如下:

    2024年02月11日
    浏览(57)
  • JavaScript 如何获取本机IP地址

    获取本机IP地址是前端工程师经常需要处理的问题。JavaScript 有几种方法可以获取客户端的IP地址。下面是三种获取本机IP的方法。 方法1:使用第三方 API 一种获取客户端IP地址的最简单方法是使用第三方API。可以使用一些免费API,例如ipify.org等来获取IP地址。下面的代码片段展

    2024年02月04日
    浏览(55)
  • vue项目前端获取本机IP

    火狐(FireFox) 删除隐藏IP 浏览器输入 about:config 搜索配置 media.peerconnection.enabled 改为false ( 刷新程序,IP正常显示 ) 谷歌(Chrome) 删除隐藏IP 浏览器输入:chrome://flags/#enable-webrtc-hide-local-ips-with-mdns 把 Anonymize local IPs exposed by WebRTC 设置为 disabled ( 刷新程序,IP正常显示 ) edge浏览器删除隐

    2024年02月08日
    浏览(50)
  • Vue.js 如何获取本机 IP 地址

    在 Vue.js 中,要获取本机 IP 地址,你可以使用 JavaScript 来实现。JavaScript 提供了一种获取客户端 IP 地址的方法,可以通过浏览器的 API 来获取。下面是一个示例代码,演示了如何在 Vue.js 中获取本机 IP 地址。 首先,你需要在 Vue 组件中创建一个方法,需要在 Vue 组件中创建一个

    2024年02月04日
    浏览(49)
  • Qt 获取本机IP地址及Mac地址

    首先需要在pro文件中添加network模块 添加头文件 以下是获取IP地址代码 获取MAC地址 测试应用输出

    2024年02月09日
    浏览(45)
  • Linux c语言获取本机网关 ip 地址

    这篇文章写了获取本机的ip地址和子网掩码:Linux c语言获取本机 ip、子网掩码 关于Netlink套接字请参考:Linux 网络之netlink 简介 Linux Netlink套接字是一种用于在Linux内核和用户空间之间进行通信的机制。它是Linux内核中的一种通信协议,用于让用户空间程序与内核进行交互。使用

    2024年02月07日
    浏览(49)
  • Python获取本机IP地址的三种方式

    目录 1、使用专用网址 2、使用自带socket库 3、使用第三方netifaces库 获取的是 公网IP 。 网址:http://myip.ipip.net 代码: 具体可以类似这样:  比较喜欢用这个,在命令窗口也能使用: 还可以用这个: https://api.ipify.org 获取的是 局域网IP 。 但是上面这个获取的 不是 公网IP,结果

    2024年02月04日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包