【发布时间】:2020-05-18 10:19:10
【问题描述】:
我有以下问题: 我尝试将字节数组从我的 PC 发送到设备。可发送的最大数据为 59 字节。字节 1-4 用于对发送的包进行计数。所以每个包的总字节数是 55。
现在我得到一个错误源数组不够长,即使剩余的字节数超过 55。
有人知道我的问题是什么吗?
uint RAW_DATA_SIZE = 55;
字节[] 参数;
uint byteCount = 0;
FileInfo fi = new FileInfo (Path.GetFileNameWithoutExtension(args[0])+".hex");
Console.WriteLine(fi.Length); // 发送的整个 HEX 数据的大小
TotalSentBytes = Convert.ToUInt32(fi.Length); //将long转换为uint
uint dataSize = TotalSentBytes;
【问题讨论】:
-
哪一行在这里失败了?它听起来就像是
ASCII.GetBytes- 在这种情况下:content是什么?更重要的是:为什么每次都发送相同的content?还有...感觉前 4 个字节应该取决于我们这次实际发送的内容? (这看起来像一个典型的帧长度前缀?)。您是否打算每次都发送“content的下一个最多 55 个字节”?因为:这不是你的代码所做的