百度查询的到的~自行尝试。以下是另外问题。
PHP:swoole
背景:查询一个大数据列表返回的时候发现,返回的数据:
$this->_client->recv()
返回的结果集json是不完整的。
尝试修改ws的各种环境问题,并不能解决问题。
当下尝试查找“Swoole_client”的信息。
发现sw有个接收超时。
并且大数据并不会一次性返回结束需要一直接收!
随后去尝试在代码内加入判断是否是一次性接收完成。
$_ret = "";
while($result = $this->_client->recv()){
if(strpos($result,'xxxx') != false){
$_ret .= $result;
break;
}else{
$_ret .= $result;
}
}
因为我的返回值是json格式的。
所以定义个一个字符串变量接收!
最后把返回集丢入到while内跑循环。
循环内的判断条件是判断返回的结果,我最后结尾出现的内容是什么。来判断是否结束。
比如xxxx可以等于json字符串结尾的'"}'这样的字符串~
破匹配上了。最后把$_ret打印出来你就会看到一条完整的json字符串啦~
记录自己 Swoole 不熟练的一天~