为什么我把 首部四个字节 改成五个字节或者其他长度字节,就一直无法返回正确结果?只能用4个字符?求大大解答
public function dealInput($recv_buffer){ // 接收到的数据长度 $recv_len = strlen($recv_buffer); // 如果接收的长度还不够四字节,那么要等够四字节才能解包到请求长度 if($recv_len < 4) { // 不够四字节,等够四字节 return 4 - $recv_len; ....省略 public function dealProcess($buff){ // 去掉首部四个字节,得到完整json字符串 $json_str = substr($buff, 4); ....省略
这里我只是将客户端和服务端的4 改成了5 或者其他数字 就无法响应
一个int类型占用内存为4字节,是固定不变的
那能否改成接收string类型的首部,我现在是不理解为何只能接收4字节int类型 文档上也没看到说明,可能我看的不仔细吧,请告知谢谢!
协议可以按照自己的需求定制,当然可以string类型的头部。 你看的是workerman2.x,建议使用workerman3.x,并参考3.x手册协议定制部分
谢谢~~。。这就去看
这里我只是将客户端和服务端的4 改成了5 或者其他数字 就无法响应
一个int类型占用内存为4字节,是固定不变的
那能否改成接收string类型的首部,我现在是不理解为何只能接收4字节int类型 文档上也没看到说明,可能我看的不仔细吧,请告知谢谢!
协议可以按照自己的需求定制,当然可以string类型的头部。
你看的是workerman2.x,建议使用workerman3.x,并参考3.x手册协议定制部分
谢谢~~。。这就去看