自定义协议粘包问题

lxping

我在gateway里用自定义tcp协议,参考text协议写的,区别就是text协议用的\n作为结束符,我是用的5555作为结束符。。。老大说,text协议不会粘包,但是为啥我用5555结尾就粘包呢?客户端是智能电器,可能因网络不稳定导致的粘包。

我在input($buffer)中,只return一个包的长度,但是在encode($buffer)中,还是会同时把两个包一起发过来。

截图

2177 2 0
2个回答

抽不完的寂寞

encode不是打包么? encode和input没关系吧。

  • lxping 2020-02-27

    说错了,是decode,不过已经解决了,收的数据是二进制,我却按16进制的长度返回的

萤火虫

大佬,使用自定义协议以后,设备端的协议需要改吗?

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