0xF0,0xF0,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x00,0x03,0x21,0x2A,0xA0,0xA0
以上是由客户端发送到服务端的一条完整指令,由0xF0,0xF0开头,0xA0,0xA0结尾。
但是由于网络或其他原因,客户端发送的数据可能会出现分批发送,
如:第一次发送:
0xF0,0xF0,0x01,0x02,0x03,0x04
第二次再发送:
0x05,0x06,0x07,0x08,0x00,0x03,0x21,0x2A,0xA0,0xA0,0xF0,0xF0,0x01,0x02
请问再这种情况下如何正确的接收处理,拿到每一条完整的指令。。
你的这种问题就是典型的分包和粘包问题了,需要加协议头(固定长度的消息头, 并且消息头中要包含包体的长度)
可以参考下php swoole扩展的分包粘包处理方式https://wiki.swoole.com/wiki/page/224.html
参考:https://blog.csdn.net/qq_38421226/article/details/83627986