java应用层协议解析和C中的数据协议解析比较
来源:互联网 发布:摇号的软件 编辑:程序博客网 时间:2024/06/04 18:24
最近在学习Java的过程中突然想到一个问题:对于C/C++中的数据结构可以非常方便地用struct来封装应用层协议,那么Java中如何做呢?
比如,某应用层协议这样:
| 4B | 8B | 4B | 8B | NB | 4B |
头部 时间 类型 长度 数据 尾部
在C/C++里可以非常方便地用一个结构体包含:
struct DataProtocal{
int header;
short year;
short month;
short day;
int type;
float len;
char data[];
int end;
}
收到数据之后,直接简单粗暴地强制类型转换:DataProtocal* data = (DataProtocal*)receive;然后就可以很简单地数据结构性输出了。
Java中目前想到一种:就是分隔插入的方式,就是把协议字段的各部分之间加上分隔符,这样做比C++确实是麻烦了不止一倍。这个方法中注意,最简单的办法是分段提取,但是不提取数据字段,也就是说把协议头段和尾段单独提取解析,然后再去校验数据字段。
今天先想到这里吧,后续有新的办法,再贴出来
- java应用层协议解析和C中的数据协议解析比较
- CTP协议数据解析
- java解析zigbee协议
- java解析JT808协议
- java解析JT808协议
- java解析JT808协议
- 应用层协议实现系列(二)——HTTP服务器之http协议解析
- Linux平台下基于BitTorrent应用层协议的下载软件开发--种子文件解析模块(parse_metafile.c)
- 串口的数据协议解析
- 模板方法模式在协议构造与解析中的应用
- OpenVPN协议解析-通道/状态机/Reliability层
- Zigbee协议与开发-APL层解析
- OpenVPN协议解析-通道/状态机/Reliability层
- Zigbee协议与开发-APL层解析
- OpenVPN协议解析-通道/状态机/Reliability层
- 网络层--地址解析协议ARP
- Thrift源码解析(三)传输层协议
- 网络层地址I解析协议ARP
- cogs526 爱争吵的猴子
- 7.IDA-创建结构体
- 二分图最大匹配(邻接表法)
- JSP九大内置对象及四大作用域详解
- 排序查询
- java应用层协议解析和C中的数据协议解析比较
- 8.IDA-数据与代码、函数互相转换
- React Native调试
- 将数据按天分组并求平均值
- 训练总结 8.22
- Oracle数据库基础
- 小总结
- 2017.8.22暑假集训第二十三天(下午训练赛)
- Oracle应用开发实战