什么是网络编程?
- 可以让设备中的程序与网络上其他设备中的程序进行数据交互(实现网络通信的)。
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)); } }