1、你接收过来的数据长度是不是固定长度?如果是固定的,那你就把不是的舍弃 2、固定长度,开始“{”(一个字节) + 数据长度(两个个字节) + 数据内容(每次发送600个字节,最后后不满按实际发送)----这部分的长度是不是一定的? 3、如果上面长度是固定的,那是不是可以取回来的数据截取你想要的部分? 就是回应命令,我们做串口的数据采集,基本上返回命令长度是固定的,开头+结尾是固定的,你串口返回的数据,先判断头尾截取到正确的数据区域,再在正确的数据区域,截取你要的固定位置的数据就行了,比如是10-13位数,你明白了? bytes.Skip(bytes.Length - 2 - 2 - 1).Take(1);这样判断合适吗?
bytes.Skip(bytes.Length - 2 - 2 - 1).Take(1);
既然使用这个协议,为什么不使用 JSON 呢 ?
能详细点么?
一步一步的拆包,先拆{},再根据 数据长度,找到 回应命令(1未通过,0为不通过) 在字符串内的位置,如果需要校验的,先比对校验值。
110,533
社区成员
642,574
社区内容
加载中
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧