linux c语言简易通讯协议数据包的打包与解包

 我来答 举报
百度网友4b1c7714d
2014-09-24
知道答主
回答量:9
采纳率:0%
帮助的人:3.4万
展开全部

通讯协议数据包的话,前面放你用来判断你这个包所做事情的功能码,然后后面接数据所占字符的长度,最后一段是你要发送的数据,可以是数组也可以是结构体,看你喜欢

CMD是你要做的事

LENGTH是你后面数据的长度,方便你读数据

INFO是你的数据,你想发什么都行

解包你就从CMD开始用if,else来判断,找到对应的读取里面的内容,做你这个判断要做的事。

而相对复杂点的协议变色前面的判断内容更多的,比如控制变电所的设备,那就增加哪个变电所,变电所哪台设备,数据格式变化不大,基本都是承载在tcp,udp,.modbus这类协议上面,这些都是数据内容,是你自己定义的

chr1999
2014-09-24 · TA获得超过1056个赞
知道小有建树答主
回答量:2462
采纳率:0%
帮助的人:1242万
展开全部
定长, 发送结构体
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
tattackor
推荐于2016-10-13 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:889万
展开全部
1、通讯协议数据包的话,前面放用来判断这个包所做事情的功能码,然后后面接数据所占字符的长度,最后一段是要发送的数据,可以是数组也可以是结构体。
2、串口通信,每次只有一个字节。如果数据量大,就要进行多字节的传送。这一批数据,应该有一个《头》标记、目标机地址、数据长度、数据、校验码、尾标记等等。简单的情况下,只有《头》标记、数据,也可。
抢首赞 已赞过 已踩过<
你对这个回答的评价是?
评论 举报 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式