hyperf/jet

jsonRpc调用数据包太大数据被截断

Uestczhouxin opened this issue · 7 comments

StreamSocketTransporter.php文件中recv方法,数据包长度超过8192时会被截断

@huangzhhui 大佬能帮忙看看么

请先提供重现代码,光描述不会有助于问题的解决

Hyperf\Jet\Transporter\StreamSocketTransporter.php
public function recv() { return fread($this->client, 65535); }
recv()方法没有考虑数据量大的情况,没有循环取数据接收所有数据为止,这个方法里面,fread($this->client, 65535), 虽然写了65535, 但是fread一次只能接收8192个字节

@limingxinleo 这个问题解决了吗?

@limingxinleo 这个问题解决了吗?

还没有,最近都在忙Phpcon的事

Linij commented

兄弟,我已经修复了这个问题,在 pull request 里面了