最近写了好几个简单的协议。稍微总结下。
物理层:Phy
链路层:Dll
应用层:App
=====> =====>
Phy====== Dll ====== App
<===== <=====
层与层之间两种做法:
一、分成发送和接收两个线程。
解包,处理数据在接收线程中做。打包数据在发送线程中做。
二、分成接收和处理数据两个线程。
接收线程主要是担心每次接收到的数据并不是完成一包或超过一包。需要保存剩下的数据。做为将接收的数据打成一包送入队列。
处理数据做为做解包,处理数据,并对之打包对相应的响应帧。