在Swoole中,你可以通过设置open_length_check参数启用协议内容的长度检查。这将允许Swoole基于某种协议自动地处理TCP数据包,而不需要你手动处理。
你可以在$server->set()方法中设置此参数,如下所示:
$server = new Swoole\Server("0.0.0.0", 9501); $server->set(array( 'open_length_check' => true, 'package_max_length' => 81920, // 一次传输数据最大值 'package_length_type' => 'N', // 长度字段的类型 'package_length_offset' => 0, // 第N个字节是包长度的值 'package_body_offset' => 4, // 从第几个字节计算长度 ));
'open_length_check' 启用协议长度检查,
'package_max_length' 设置允许接收的最大包长度,
'package_length_type' 设置网络字节序,'N' 代表大端、'n' 代表小端,
'package_length_offset' 表示从哪个字节开始计算长度,
'package_body_offset' 表示长度字段的值,即包体从第几个字节开始。网友回复