定义:可以让设备中的程序与网络上其他设备中的程序进行数据交互(实现网络通信的)。
java.net.*包下提供了网络编程的解决方案。
基本的通信架构:
CS架构( Client客户端/Server服务端 ):
Client客户端:
需要程序员开发。 用户需要安装。Server服务端:
需要程序员开发实现。
BS架构(Browser浏览器/Server服务端):
Browser浏览器:
不需要程序员开发实现。 用户需要安装浏览器。Server服务端:
需要程序员开发实现。
无论是CS架构,还是BS架构的软件都必须依赖网络编程!
网络通信的关键三要素之一:
IP:设备在网络中的地址,是唯一的标识。
IP(Internet Protocol):全称”互联网协议地址”,是分配给上网设备的唯一标志。
IP地址有两种形式:IPv4、IPv6。
IPv4: 32bit(4字节)点分十进制表示法(如,127.0.0.1)
IPv6: 共128位,号称可以为地球每一粒沙子编号,IPv6分成8段表示,每段每四位编码成一个十六进制位表示, 数之间用冒号(:)分开。
公网IP, 内网IP:
公网IP :是可以连接互联网的 IP 地址; 内网IP :也叫局域网 IP ,只能组织机构内部使用。192.168. 开头的就是常见的局域网地址,范围即为 192.168.0.0--192.168.255.255 ,专门为组织机构内部使用。特殊IP地址:
127.0.0.1、localhost:代表本机IP,只会寻找当前所在的主机。
IP常用命令:
ipconfig :查看本机 IP 地址。 ping IP 地址:检查网络是否连通。InetAddress:代表IP地址。
名称 | 说明 |
public static InetAddress getLocalHost() | 获取本机IP,会以一个inetAddress的对象返回 |
public static InetAddress getByName(String host) | 根据ip地址或者域名,返回一个inetAddress对象 |
public String getHostName() | 获取该ip地址对象对应的主机名。 |
public String getHostAddress() | 获取该ip地址对象中的ip地址信息。 |
public boolean isReachable(int timeout) | 在指定毫秒内,判断主机与该ip对应的主机是否能连通 |
//获取本机IP,会以一个inetAddress的对象返回
InetAddress ip1 = InetAddress.getLocalHost();
//获取该ip地址对象对应的主机名。
ip1.getHostName();
//获取该ip地址对象中的ip地址信息。
ip1.getHostAddress();
//根据ip地址或者域名,返回一个inetAddress对象
InetAddress ip2 = InetAddress.getByName("www.baidu.com");
//在指定毫秒内,判断主机与该ip对应的主机是否能连通
ip2.isReachable(5000);
标签:IP,编程,网络,地址,ip,InetAddress,public,服务端
From: https://blog.csdn.net/2301_81718046/article/details/139389719