workerman如何定制协议

gateway硬件通信定制协议

最近在做TCP的硬件通信,发现一个通讯协议的问题, 网络tcpip通信特性接收会有问题的,会接收不完整的包,所以我们需要根据硬件设备发送的16进制进行处理

workerman如何定制协议
实现步骤

  1. 协议文件放到项目的Protocols文件夹,例如文件Chat/Protocols/JsonNL.php
    workerman如何定制协议
  2. 实现JsonNL类,以namespace Protocols;为命名空间,必须实现三个静态
    方法分别为 input、encode、decode
    workerman如何定制协议
  3. workerman会自动调用这三个静态方法,用来实现分包、解包、打包。具体流程参考下面执行流程说明。
    workerman如何定制协议
  4. JsonNL协议实现完毕,可以在 Chat项目中使用,使用方法例如下面
    文件:Chat\start_gateway.php
    workerman如何定制协议
  5. 在input进行解析 不符合的将return掉,经过解析处理之后,接收的包无断开
    workerman如何定制协议