6.24Java网络编程之IP
Posted 俊king
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了6.24Java网络编程之IP相关的知识,希望对你有一定的参考价值。
定位、传输协议
在域名和IP地址之间有一个域名解析--->DNS
DNS的作用:将IP地址转成有意义的字符串。将字符串映射成IP地址
定位
-
IP
-
端口
-
url
IP
作用:
标识网络中的一个通信实体的地址(是一个地址)
通信实体:
-
计算机
-
路由器
-
服务器--->服务器不止一个,通常是服务器集群
-
...
(互联网每个服务器都有一个Ip地址,每个局域网计算机也要有IP地址)
IP地址分类
-
IPV4:32位地址,以点分十进制表示,如:192.168.0.1(由于互联网的普及资源紧缺)
-
IPV6:128位(16个字节)写成8个16位的无符号整数,每个整数用4个16进制位表示,数之间用冒号(:)分开。如:3ffe:3201:1401:1280:c8ff:fe4d:db39:1984
特殊IP:
-
127.0.0.1本机地址
-
192.168.0.0--192.168.255.255私有地址,属于非法注册地址,专门为组织机构内部使用。
Java中InetAddress类封装IP地址
该类没有构造器,但是提供了具体的方法。可以直接返回我们的类的对象
InetAddress方法返回的IP地址和域名
package netstudy;
import java.net.InetAddress;
import java.net.UnknownHostException;
/**
* IP:定位一个节点
* 1、计算机节点
* 2、路由节点
* 3、服务器节点
* 4、路由节点
* ...
* InetAddress类--->提供了多个静态方法
* 1、getLocalHost:返回本机ip地址
* 2、getByName:根据域名DNS | IP地址--->IP
* 成员方法:
* 1、getHostAddress:返回地址
* 2、getHostName:返回计算机名
* @since JDk 1.8
* @date 2021/6/24
* @author Lucifer
*/
public class IPTestNo1 {
public static void main(String[] args) throws UnknownHostException {
//使用getLocalHost方法创建InetAddress对象 本机
InetAddress address = InetAddress.getLocalHost();
/*输出获取到的内容*/
System.out.println(address.getHostAddress()); //返回本机ip
System.out.println(address.getHostName()); //输出计算机名
//根据域名获取具体的IP地址(获得InetAddress对象)
address = InetAddress.getByName("xxx.xxxxxx.com"); //底层已经用到了DNS
/*输出获取到的服务器*/
System.out.println(address.getHostAddress()); //返回该域名的ip
System.out.println(address.getHostName()); //输出域名
//根据IP得到InetAddress对象
address = InetAddress.getByName("xxx.x.xx.xxx");
/*输出获取到的内容*/
System.out.println(address.getHostAddress()); //返回服务器的ip
System.out.println(address.getHostName()); //输出ip而不是域名
/*
如果这个ip地址不存在或者DNS不允许进行IP地址和域名映射
getName方法就直接返回输入的IP地址
*/
}
}
以上是关于6.24Java网络编程之IP的主要内容,如果未能解决你的问题,请参考以下文章