嵌入式学习---(网络编程)
基本概念
osi七层模型:
7 应用层 //你好 (信息)
6 表示层 //压缩 加密
5 会话层 //管理一次通信过程
4 传输层 //传输过程中网络信息 控制
3 网络层 //网络间如何通信
2 数据链路层 //01组合的数据帧
1 物理层 //物理通信 电气特性
两个重要的网络协议
1.TCPP协议:
特点:
a:面向连接(就是在进行通信之前,必须建立好一条逻辑上的通路)
b:提供可靠传输(四个"无",无丢失,无失序,无差错,无重复)
tcp三次握手 目的:建立连接
client(客户端) ------------------ server(服务端)======类似打电话
1 -- 我要通话 --> 1 //连接的请求
2 <--嗯,我知道了,你可以-- //对方接听电话 喂
3 -- 嗯,好的 --> //喂
应用场景:对可靠性要求高的场合
QQ微信等软件的登录
2.UDP协议:
特点:不提供可靠数据,不需要建立连接
应用场景:(1)小数据,但是对速度要求高,实时性较高的场合
(2)广播、组播
(3)无线网的传输
tcp客户端: //角色 --- 主动的一方
socket //买了个电话
bind(可选) //买了sim卡
connect //拨打电话
----------------------
write //通信
read
close //挂机
tcp服务器://角色 --- 被动的一方
socket //买了个电话
bind //买了sim卡
listen //监听--待机
accept //接听
-------------------
read //通信
write
close //挂机