前言:本章主要先讲解一些基本的网络知识,先把基本的知识用起来,后续会更深入的讲解底层原理。
网络编程的概念
网络编程,指网络上的主机,通过不同的进程,以编程的方式实现网络通信(或称为网络数据传输)。
把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息、共享硬件、软件、数据信息等资源。
设备之间在网络中进行数据的传输,发送/接收数据。
通信两个重要的要素
IP + PORT(端口)
设备之间进行传输的时候,必须遵照一定的规则 ---》通信协议:
TCP协议:可靠的
UDP协议:不可靠的
注意:我们这里只是简单的介绍了TCP和UDP协议,其实还有很多相关的知识,会在后面计算机网络原理更加详细介绍!!!
接下来我们介绍一些封装类,类似 File ---》 封装盘符一个文件
【1】InetAddress ---》 封装了IP
import java.net.InetAddress;
import java.net.UnknownHostException;
/**
* @auther: themyth
*/
public class Test01 {
//这是一个main方法,是程序的入口:
public static void main(String[] args) throws UnknownHostException {
//封装IP:
//InetAddress ia = new InetAddress();不能直接创建对象,因为InetAddress()被default修饰了。
InetAddress ia = InetAddress.getByName("192.168.43.6");
System.out.println(ia);
InetAddress ia2 = InetAddress.getByName("localhost");//localhost指代的是本机的IP地址
System.out.println(ia2);
InetAddress ia3 = InetAddress.getByName("127.0.0.1");//127.0.0.1指代的也是本机的IP地址
System.out.println(ia3);
InetAddress ia4 = InetAddress.getByName("LAPTOP-HKEONEUJ");//封装计算机名
System.out.println(ia4);
InetAddress ia5 = InetAddress.getByName("www.baidu.com");//封装域名
System.out.println(ia5);
System.out.println(ia5.getHostName());//获取域名
System.out.println(ia5.getHostAddress());//获取IP地址
}
}
【2】InetSocketAddress ---》封装了IP,端口号
import java.net.InetAddress;
import java.net.InetSocketAddress;
/**
* @auther: themyth
*/
public class Test02 {
//这是一个main方法,是程序的入口:
public static void main(String[] args) {
InetSocketAddress isa = new InetSocketAddress("192.168.43.6",8080);//8080为Tomcat的端口号
System.out.println(isa);
System.out.println(isa.getHostName());//获取域名(计算机名)
System.out.println(isa.getPort());//获取端口号
InetAddress ia = isa.getAddress();
System.out.println(ia.getHostName());//获取域名(计算机名)
System.out.println(ia.getHostAddress());//获取IP地址
}
}