iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >java获取本机ip的方法
  • 340
分享到

java获取本机ip的方法

javatcp/ip网络 2023-09-04 14:09:58 340人浏览 薄情痞子
摘要

  Java中有一个类叫 Application,可以用来获取本机 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所示,可以看出三个端口之间都有一条数据线。而这条数据线对应着相应的网络协议。

  • 三、基本配置

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

  • 四、本地配置

    在 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地址,那么需要将以上所有步骤都设置成自动。

  • 五、安全配置

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

  • 六、网络配置

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

  • 七、运行环境

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

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

 使用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 networkInterfaces = NetworkInterface.getNetworkInterfaces();
while (networkInterfaces.hasMoreElements()) {
NetworkInterface networkInterface = networkInterfaces.nextElement();
Enumeration 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://blog.csdn.net/qq_42751978/article/details/130167416

--结束END--

本文标题: java获取本机ip的方法

本文链接: https://www.lsjlt.com/news/393660.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java获取本机ip的方法
      Java中有一个类叫 Application,可以用来获取本机 ip,也可以用来获取网络连接的信息,例如网络上有什么主机、需要访问本机的主机名等。但是这个类只能在本机上使用,如果要访问外部的主机,还需要使用其它的方法。 首先在主程序中...
    99+
    2023-09-04
    java tcp/ip 网络
  • python 优雅获取本机 IP 方法
    见过很多获取服务器本地IP的代码,个人觉得都不是很好。从网上搜索到一个靠谱的脚本,分享一下!通过 UDP 获取本机 IP,目前见过最优雅的方法这个方法是目前见过最优雅获取本机服务器的IP方法了。没有任何的依赖,也没有去猜测机器上的网络设备信...
    99+
    2023-01-30
    本机 优雅 方法
  • Java获取本机IP地址的三种方法总结
    目录1 获取局域网IP地址2 获取全部 IPV4/IPV6 IP地址3 获取全部存放本机IP地址知识点补充1 获取局域网IP地址 InetAddress.getLocalHost()...
    99+
    2024-04-02
  • JS获取本机IP地址的2种方法
    目录1.获取本机IP地址方法1:2.获取本机IP地址方法2解决方案:总结1.获取本机IP地址方法1: if(typeof window != 'undefined'){     va...
    99+
    2024-04-02
  • java获取请求ip的方法
      在上篇文章中我们介绍了 java获取请求 ip的方法,那么这篇文章我们就来详细讲解下获取请求 ip的方法。获取请求 ip的方法是基于 HTTP协议的,其原理如下: 1、用 web应用程序,将 web服务器端与客户端通过 HTTP协议通...
    99+
    2023-09-06
    java tcp/ip servlet
  • Python获取本机IP地址的方法有哪些
    这篇文章主要介绍“Python获取本机IP地址的方法有哪些”,在日常操作中,相信很多人在Python获取本机IP地址的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python获取本机IP地址的方法...
    99+
    2023-06-29
  • 分享Python获取本机IP地址的几种方法
    目录1、使用专用网站2、使用自带socket库3、使用第三方netifaces库1、使用专用网站 获取的是公网IP 网址:http://myip.ipip.net 代码: impor...
    99+
    2024-04-02
  • Java 获取本机IP地址的实例代码
    目录前言一、规则二、获取1.使用2.工具类前言 在Java中如何准确的获取到本机IP地址呢?网上大部分的做法是InetAddress.getLocalHost().getHostAd...
    99+
    2024-04-02
  • python 获取本机IP地址
    方法一: 通常使用socket.gethostbyname()方法即可获取本机IP地址,但有时候获取不到(比如没有正确设置主机名称),示例代码如下: import socket # 获取本机计算机名称 hostname = s...
    99+
    2023-01-31
    本机 地址 python
  • java获取登陆用户ip方法
    今天和大家分享一下获取登录用户 ip的方法,如果你想获取自己的登陆用户 ip,可以参考以下思路: 1.可以通过 Java动态链接库的方式获取到,方法很简单,就是把需要的 ip地址添加到动态链接库中,然后在需要用到时直接调用即可。 2.通...
    99+
    2023-10-10
    java tcp/ip jvm
  • Java获取本机IP地址的代码怎么写
    本文小编为大家详细介绍“Java获取本机IP地址的代码怎么写”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java获取本机IP地址的代码怎么写”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。前言在Java中如何准...
    99+
    2023-06-30
  • Python获取本机 IP/MAC(多网
      Python获取本机IP地址的一般方法为import socket IP = socket.gethostbyname(socket.gethostname())  通过gethostname获取主机名,再用gethostbyname...
    99+
    2023-01-31
    本机 Python IP
  • Linux中怎么获取本机ip
    本篇文章给大家分享的是有关Linux中怎么获取本机ip,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。调用shell:$ip = `ifconfig ...
    99+
    2023-06-16
  • java获取本月日历表的方法
    用Java获取本月日历表,供大家参考,具体内容如下 这张日历表应该怎么打印出来? 首先,获取本月,获取本天,创建本地日期类对象。 LocalDate date=LocalDate....
    99+
    2024-04-02
  • python获取本机IP、mac地址、计
    在python中获取ip地址和在php中有很大不同,在php中往往比较简单。那再python中怎么做呢?我们先来看一下python 获得本机MAC地址:import... 在python中获取ip地址和在php中有很大不同,在php...
    99+
    2023-01-31
    本机 地址 python
  • vue如何获取本机ip地址
    Vue.js 是一款流行的前端开发框架,它可以帮助开发者构建动态且高效的用户界面。在许多 Vue.js 项目中,我们需要获取本地 IP 地址来识别设备以及进行网络调试和测试。接下来,我们将介绍如何在 Vue.js 中获取本地 IP 地址。通...
    99+
    2023-05-24
  • Python获取本机所有IP地址
    import socket # 查看当前主机名 print('当前主机名称为 : ' + socket.gethostname()) # 根据主机名称获取当前IP print('当前主机的IP为: ' + socket.get...
    99+
    2023-01-31
    本机 地址 Python
  • C# 获取本机IP地址(IPv4和IPv6)
    目录前言:操作步骤一,创建文件二,窗体设计三,代码设计四 效果展示总结:前言: 在我们使用C# WinForm中,我们有时候是需要或者自己本机的IP地址进行处理,今天我们学习一下如何...
    99+
    2022-11-13
    C# 获取本机IP地址 C# 获取IP地址
  • Shell脚本中怎么获取本机ip地址
    这期内容当中小编将会给大家带来有关Shell脚本中怎么获取本机ip地址,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。方法一:代码如下:/sbin/ifconfig -a|grep inet|grep -v...
    99+
    2023-06-09
  • 获取对方IP地址和获取目标MAC地址的方法
    获取对方IP地址的方法: 1,直接知道对方的IP地址 2,通过域名获取对方的IP地址 (本质上还是直接通过IP进行访问,因为通过域名访问时,需要在DNS服务器中查找域名对应的IP地址,知道对方IP地址...
    99+
    2023-09-04
    网络
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作