什么是网络编程?
- 可以让设备中的程序与网络上其他设备中的程序进行数据交互(实现网络通信的)。
Java提供的网络编程解决方案就是在java.net.*包下进行网络编程。
基本的通信架构
- 基本的通信架构有2种形式:CS架构(Client客户端/Server服务端)、BS架构(Browser刘览器/ Server服务端)。




无论是CS架构,还是BS架构的软件都必须依赖网络编程!
网络通信的关键三要素
- IP:设备在网络中的地址,是唯一的标识。
- 端口:应用程序在设备中唯一的标识
- 协议:连接和数据在网络中传输的规则
IP地址
- IP (Internet Protocol):全称”互联网协议地址”,是分配给上网设备的唯一标志。
- IP地址有两种形式:IPv4、IPv6

IPv6地址
- IPv6:共128位,号称可以为地球每一粒沙子编号。
- IPV6分成8段表示,每段每四位编码成一个十六进制位表示,数之间用冒号(:)分开。

IP域名
公网IP,内网IP:
- 公网IP:是可以连接互联网的IP地址;内网IP:也叫局域网IP,只能组织机构内部使用。
- 192.168. 开头的就是常见的局域网地址,范围即为192.168.0.0--192.168.255.255,专门为组织机构内部使用。
特殊IP地址:
- 127.0.0.1、locathost:代表本机P,只会寻找当前所在的主机。
IP常用命令:
- ipconfig:查看本机IP地址。
- ping IP地址:检查网络是否连通。
InetAddress
- 代表IP地址。
InetAddress的常用方法如下

代码演示如下:
/**
* 目标:掌握InetAddress类的使用
*/
public class InetAddressTest {
public static void main(String[] args) throws Exception{
//1.获取本机IP地址对象的
InetAddress ip1 = InetAddress.getLocalHost();
System.out.println(ip1.getHostName());
System.out.println(ip1.getHostAddress());
//2.获取指定IP或者域名的IP地址对象。
InetAddress ip2 = InetAddress.getByName("www.baidu.com");
System.out.println(ip2.getHostName());
System.out.println(ip2.getHostAddress());
//ping www.baidu.com
System.out.println(ip2.isReachable(6000));
}
}



















