c语言自定义报文发送,一个自定义的自报报文格式(用于传感器自报上传数据)...

本报文格式不能处理粘包问题,因为处理粘包问题的成本太高,会极大的降低服务端的处理效率以及增加内存消耗,如果传输速度很高,建议使用UDP,UDP传输速度快,并且应用层做响应,增加重传机制可以有效的保证数据的可靠性,目前我做的RTU升级等功能都是使用UDP完成,服务器端开销小,并且不会粘包。

通讯建议:不要做什么握手机制,直接发送数据,服务器收到了就响应,收到响应后就结束通讯,握手增加耗电又增加流量消耗,并且在GPRS通讯上是非常浪费资源的,本来网络就不可靠,直接发送数据,服务器收到了就响应通讯就结束了,如果弄成握手方式,就是发送请求,握手成功,发送数据,等待响应,结束通讯,就增加了1个来回,特别是之前用过MQTT多了几个来回,太浪费通讯资源了。

使用HEX格式的通讯协议非常高效,不管是发送打包还是接收拆包,1个结构体就能搞定,无需一个字节一个字节解析,如果用字符串json方式,使用单片机作为客户端就很为难了,一般内存不会很多,并且解析json需要的内存会非常多。

报文全部使用小端模式,便于C语言处理。

55c9P8nX3zTD5xUhdytIcXyNfMf5WjFNBP8Etl1VajuNFyVg9PC2cuN1lXUzaAn47GGVZo5VFBGw3sBJa4DTxUfxkNsx1JwvHUsJNrHCD1Us2VcR

KX+3gXHa0c5IUPTvjSs2bHvw6H0L7BR16f2q9xQkMy1ZRoxw8k9GA

注:由于我之前做了一个支持10W个设备的数据解析软件,其实占用的内存非常少,并且对CPU消耗很低,我们使用了一个很低端的服务器就能做到每秒1K条以上的数据处理,并且每条数据都在1秒内得到响应,刚开始的时候还好,后面因为设备越来越多,导致服务器搜索设备变得很漫长(我的设备数据都是放到内存中,使用了一个指针数组进行管理),由于设备会动态的增加,不能对序列号进行排序,因此查找设备的索引时间将会不可控,解析一条数据非常快,存储是异步的,有1W条的缓存,但是唯独查找设备这个看似简单的过程变得非常复杂,由于之前的协议我没

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值