查看: 969|回复: 0
打印 上一主题 下一主题

请问一些通讯协议的帧可否这样处理?

[复制链接]
跳转到指定楼层
沙发
发表于 2015-9-18 10:58:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我对某些通讯上的概念仍然不是很熟,用错了请大家指正,另外这里不针对任何一种特定协议,只是说一种假设的情况,目的是
想验证一种思路是否是主流的做法。

例如某个通讯协议,有四种帧,内含不同场field,假设这种协议使用主机从机模式工作;

写C程序时,如果我是主机,每次与从机进行通讯时都针对某种特定的帧写一系列语句,目的就是
为了产生出正确的格式以发送给从机,显然是非常低效的,因此我想,可不可以这样:

定义一个结构体,该结构体和帧的格式对应;也就是说结构体的格式按照协议上规定的帧格式分配好。不同的帧就定义不同的
结构体。

帧当中的域,如果比较复杂,为了使代码明晰,又可以使用结构体。

定义好这个结构体之后,用指针指向它或它的成员,将其“映射”到发送或者接收buffer中去,以方便的进行收发操作。

这样做的好处是在写程序时,我大部分情况下只需要改“易变”的内容即可,例如发送的数据,校验信息等等,而对于变化不是特别频繁的信息,
例如地址,则可以在大部分情况下跳过。


不知道这种想法是否合理,是否是常见的思路,还是说基本没人这么干,因为有更聪明的办法?

让大家见笑了。转载

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表