一、网络参考模型图
OSI参考模型图:
1、应用层:主要是一些终端应用
2、表示层:主要是对接受的数据解释,加密,解密,压缩,解压
3、会话层:通过传输层建立数据传输的通路。主要在你的系统之间发起会话或接受会话请求
4、传输层:定义了一些传输数据额的协议和端口
5、网络层:主要将从下层接受到的数据进行IP地址的封装与解封装,这一层的数据叫数据包
6、数据链路层:主要从物理层接受数据进行MAC地址的封装与解封装,这一层数据叫做帧
7、物理层:主要定义物理设备标准,如网线的接口类型,这一层数据叫比特
二、网络编程三要素
A:IP地址
网络中计算机的唯一标识。
IP地址的组成:网络号段+主机号段
IP地址的分类:A类(1):第一号段网络号段,后三段主机号段 一个网络号:256^3台计算机
B类(128):前二号段网络后段,后两段主机号段 一个网络号:256^2台计算机
C类(192):前三号段网络号段,最后一段主机号段 一个网络号:256台计算机
x.x.x.255:广播地址 x.x.x.0:网络地址
InetAddress类(没有构造方法)
public static InetAddress getByName(String host)根据主机名或者IP地址的得到IP地址对象
获取主机名和IP:getHostName() getHostAddress(),均返回字符串形式;
B:端口
物理端口:网卡口 逻辑端口:A、每个网络程序都至少有一个逻辑端口
B、用于标识进程的逻辑地址
C、有效端口:0-65536,0——1024系统使用或者保留端口
C:协议
UDP:
把数据打包,数据包不能超过64K,不需要建立连接,速度快,不可靠
TCP(三次握手协议):
建立连接,形成传输数据的通道;在连接中进行大量数据的传输,通过三次握手完成连接,可靠协议,效率稍低
三、Socket(网络套接字)
Socket包含了IP地址和端口
Socket原理机制:
通信两端都有Socket,网络通信其实是Socket之间的通信,数据在两个Socket之间在某种协议下通过IO传输
四、UDP协议发送与接受
发送:
A、创建发送端Socket对象
B、创建数据,并把数据打包
C、调用Socket对象的发送方法发送数据包
D、释放资源
接受:
A、创建接收端Socket对象
B、创建一个数据包(接收容器)
C、调用Socket对象的接收方法接收数据
D、解析数据并显示在控制台
E、释放资源
五、TCP网络编程
发送:
A、建立发送端Socket对象
B、获取输出流对象并发送
C、释放资源
接收:
A、建立接收端Socket对象
B、监听客户端连接,返回一个对应Socket对象
C、获取输入流,读取数据
D、释放资源