使用workman 用于接受充电桩报文连接,目前有遇到粘包问题,大神看看有什么方法解决?
示例如下:错误:684070070013000000000000000000000000000000009945457927420401020200000000003e00000000000000006400000000000000000000000000d0e904000000fa46684070080013000000000000000000000000000000009945457927420402020200000000003d00000000000000005900000000000000000000000000cc7c07000000345a684070090013000000000000000000000000000000009945457927420403020200000000003d00000000000000006300000000000000000000000000d8280400000087c96840700a0013000000000000000000000000000000009945457927420404020200000000003d00000000000000004800000000000000000000000000445c050000009b8f
正确:684070070013000000000000000000000000000000009945457927420401020200000000003e00000000000000006400000000000000000000000000d0e904000000fa46
684070080013000000000000000000000000000000009945457927420402020200000000003d00000000000000005900000000000000000000000000cc7c07000000345a
684070090013000000000000000000000000000000009945457927420403020200000000003d00000000000000006300000000000000000000000000d8280400000087c96
840700a0013000000000000000000000000000000009945457927420404020200000000003d00000000000000004800000000000000000000000000445c050000009b8f
$text_worker = new Worker("tcp://0.0.0.0:9879");
$text_worker->uidConnections = array();
$text_worker->count = 1;
根据充电桩的协议规则自己实现自定义协议进行分包
包头 长度去拆分吗?
用缓存的话需要注意哪些?
你这看着就是8 + 128,前8应该是设备号之类的,你看充电桩协议来吧,我不知道对方怎么定义的,一般要么是按换行符,要么是按固定长度
有联系方式不?有兴趣一起解决一下不?有偿
忙不过来
需要大神指导一下,现在遇到问题解决不了?咨询一下
tcp本来就是这样,你要自己处理,协议该怎么解释就怎么取数据https://www.workerman.net/doc/workerman/protocols/how-protocols.html
里面有提到在input函数里返回你要的长度就可以了
可以让AI做