用php内置的服务器,在返回的时候加上ob_start("ob_gzhandler"); 数据成功压缩。 框架:thinkphp6 用wokerman启动的时候,一直压缩不了。求指导如何压缩返回的数据?
试试 $connection->send(gzencode('数据'));
谢谢回复!刚试了一下,返回的数据是压缩了,但是返回的数据好像不是json
谢谢回复!刚试了一下,这样的话,返回的数据会变成二进制的数据?
启用压缩后返回给客户端的压缩数据就是这样的,只不过按理说主流的浏览器默认都是支持自动gzip、deflate解压缩的,你换其他浏览器试试看; 至少我的firefox、chrome都能如期工作。
@614:嗯嗯,谢谢,出现这样情况是用gzencode();方法压缩后的。配置$connection->gzip = true;后,不用gzencode。数据就正常了。
你们方法不对,不用手动压缩,设置下$connection->gzip = true;就行了
$connection->gzip = true; $connection->send('数据');
发送的数据会自动压缩
原来有这设置,谢谢大佬!实测有效,36K压缩到了4K
大佬,怎么看是否压缩成功?
gateway是通过Gateway::sendToClient($client_id,$data)来发送数据的。怎么使用这个?
$connection->gzip 是3.x的用法,4.x以上已经不支持了。 这个帖子已经过期了,不要回复了
试试
$connection->send(gzencode('数据'));
谢谢回复!刚试了一下,返回的数据是压缩了,但是返回的数据好像不是json
谢谢回复!刚试了一下,这样的话,返回的数据会变成二进制的数据?
启用压缩后返回给客户端的压缩数据就是这样的,只不过按理说主流的浏览器默认都是支持自动gzip、deflate解压缩的,你换其他浏览器试试看; 至少我的firefox、chrome都能如期工作。
@614:嗯嗯,谢谢,出现这样情况是用gzencode();方法压缩后的。配置$connection->gzip = true;后,不用gzencode。数据就正常了。
你们方法不对,不用手动压缩,设置下$connection->gzip = true;就行了
发送的数据会自动压缩
原来有这设置,谢谢大佬!实测有效,36K压缩到了4K
大佬,怎么看是否压缩成功?
gateway是通过Gateway::sendToClient($client_id,$data)来发送数据的。怎么使用这个?
$connection->gzip 是3.x的用法,4.x以上已经不支持了。
这个帖子已经过期了,不要回复了