/* *Author : DavidLin *Date : 2014-12-25pm *Email : linpeng1577@163.com or linpeng1577@gmail.com *world : the city of SZ, in China *Ver : 000.000.001 *For : threads for rxtx! *history : editor time do * 1)LinPeng 2014-12-25 created this file! * 2) */ 信令帧,数据帧的长度不同,不同数据帧之间的长度更是千差万别,所以通讯协议中,帧的可变长实现是有重要的现实意义的。 如何实现: 1.通过帧尾部的移位; 2.逐层增加长度项。 比如有2层协议 typedef struct net_packet_t { ip_packet_t ip; size_t size; //用于获取ip包长度 }; typedef struct ip_packet_t { char head; char pay[MAX]; //需要移位变长 size_t chksum; char tail; }; phy_tx(&net, net.size); //发送格式,根据帧实际长度发送
协议设计:可变长帧的实现
原创linpeng1577 博主文章分类:通信协议 ©著作权
©著作权归作者所有:来自51CTO博客作者linpeng1577的原创作品,请联系作者获取转载授权,否则将追究法律责任
![](https://ucenter.51cto.com/images/noavatar_middle.gif)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
「从ES到CK 04」Clickhouse表引擎选择和表结构设计
介绍日志平台的clickhouse表引擎选择和表结构设计
表结构 clickhouse ck 日志平台 -
表结构设计
在权限系统中,最核心的三张表为:用户表、角色表和菜单表(权限表),它们间的
RBAC ci 表结构 修改时间 -
数据结构设计
数据结构设计
数据结构设计 -
React 项目结构设计
react 官方 | 原子设计避免多层嵌套JavaScript 项目中的深层目录嵌套会带来许多痛点。在编写相对
reactjs 嵌套 编写代码 相对路径 -
HBase表结构设计大数据