请问服务器和硬件通讯字节流分帧如何实现

defence

服务器和硬件通讯,由于数据包较大,硬件小伙伴说需要字节流分帧,空间有限不能整个字节流发送,需要按帧发送;大佬有没有提供关于具体的协议这块实现指导~

916 1 0
1个回答

li914

之前搞过一个类似的
当时那个数据是有开始标记以及结束标记的,当下位机发送数据时,服务器接收到开始标记数据,进行保存变量中,直到收到结束标记数据,然后对保存变量的数据进行处理,处理完成后销毁保存的数据

  • defence 2022-03-07

    大佬能不能分享参考下? 或者有偿帮我们处理下

  • li914 2022-03-07

    呃 我只是个小垃圾 不是大佬。
    定义一个全局变量,然后根据下位机的uid或其他唯一编码,做一个键,当收到下位机发送的数据开始标记,在全局变量中创建一个 $data[$uid] = array(); 并且把数据放到数组中,直到收到数据结束标记时,然后处理$data[$uid]里的数据,此时数据可能不是完整或有误的,需要自行判断一下,当处理完后进行销毁$data[$uid]里的数据,然后等待下一次的数据开始标记。
    当时我们那个设备不多,数据容易判断,和硬件协议好通讯规则协议,就很容易了,好几年的事情了

  • defence 2022-03-07

    好的 谢谢分享

  • li914 2022-03-07

    哈哈哈 希望可以帮到你

年代过于久远,无法发表回答
🔝