GatewayWorker下GatewayProtocol文件,input($buffer)中$buffer是二进制转化后的数据吗?怎么得到原始数据,

寒凉

由于自定义了tcp协议,需要根据帧头解析,但是这边收到的数据是经过了转化的,如何得到原始数据?如果是自定义协议处理的话,也得对$buffer进行处理,补充:获得原始数据是为了解决在已有的协议格式下的粘包问题,如果不获取原始数据,不好在粘包拆包后进行拼接

2562 3 0
3个回答

walkor

GatewayWorker有Gateway进程和Worker进程,
Gateway进程维持客户端连接,
Worker进程处理业务,
Gateway和Worker之间长连接通讯,使用的是GatewayProtocol协议。
也就是说GatewayProtocol 是gatewayWorker内部通讯的协议,开发者不用关注这个协议。

自定义协议应该是客户端与Gateway通讯的协议,可以说基本上与GatewayProtocol没有任何关联。

  • 暂无评论
寒凉

多谢回复,按照workman手册,GatewayWorker使用自定义协议,启动报错:class \Protocols\Kung not exist,是我引用的方式错误吗?
!(http://47.94.174.151/0.png)
!(http://47.94.174.151/1.png)

  • 暂无评论
寒凉

抱歉,问题已经解决,是在start_gateway.php文件指定自定义协议!感谢回复!

  • 暂无评论
年代过于久远,无法发表回答
🔝