网络模型
OSI参考模型
7 应用层
6 表示层
5 会话层
4 传输层
3 网络层
2 数据链路层
1 物理层
TCP/IP参考模型
4 应用层
3 传输层
2 网络层
1 数据链路层
IP地址和端口号
1、ip用于标识网络中的一个通信实体,可以是主机、打印机、路由端口。基于IP协议传输的数据包必须使用IP地址标识,指定目的地址,每个数据包都包括源IP和目的IP。
2、一个通信实体可以有多个通信程序同时提供网络服务,此时通过端口来区分具体的通信程序。一个通信实体不能有两个通信程序使用同一个端口号。
TCP和UDP
1.基于连接和无连接
2.TCP要求系统资源较多,UDP较少
3.UDP程序结构简单
4.流模式(TCP)数据报模式(UDP)
5.TCP数据准确,UDP数据可能丢失
6.TCP有数据顺序,UDP不保证
UDP应用场景
1.面向数据报方式
2.网络数据大多为短消息
3.拥有大量Client
4.对数据安全要求小
5.网络负担重,但对相应速度要求高
Socket套接字
定义
将IP地址和端口组合在一起构成唯一能识别的标识符
原理
- 通信两端都有Socket
- 网络通信就是Socket间的通信
- 数据在两个Socket间通过IO传输
通信模型
- 服务端
建立服务端倾听socket
等待接受连接请求
接受请求后创建socket连接
InputStream
OutputStream
关闭socket及相关资源
- 客户端
发送创建socket连接请求
OutputStream
InputStream
关闭socket及相关资源
Socket通信步骤
1.创建ServerSocket和Socket
2.打开连接到Socket的输入输出流
3.按照协议对Socket进行读写操作
4.关闭输入输出流、关闭Socket
ServerSocket服务器端
1.创建ServerSocket对象,绑定监听端口
2.通过accept()方法监听客户端请求
3.连接建立后,通过输入流读取客户端发送的请求信息
4.通过输出流向客户端发送相应信息
5.关闭相关资源
网友评论