先上图
server 端
client 客户端
原文参考 https://blog.csdn.net/ldy3243942/article/details/40920743
3.固定包头类型协议
固定包头协议是在实际应用中最常用的协议。该协议的内容是规定一个固定长度的包头,在包头的固定位置有一个指定好的字段存放了后续数据的实际长度。这样,服务器端可以先读取固定长度的数据,从中提取出长度,然后再读取指定长度的数据,即可获取一段完整的数据。
在Swoole中,同样提供了固定包头的协议格式。需要注意的是,Swoole只允许二进制形式的包头,因此,需要使用pack、unpack来打包、解包。
通过设置open_length_check选项,即可打开固定包头协议解析功能。此外还有package_length_offset,package_body_offset和package_length_type三个配置项用于控制解析功能。package_length_offset规定了包头中第几个字节开始是长度字段,package_body_offset规定了包头的长度,package_length_type规定了长度字段的类型。
具体设置如下: