://127.0.0.1:5678', $errno, $errmsg, 1);
// 推送的数据,包含uid字段,表示是给这个uid推送
$data = array('uid'=>'uid1','percent'=>'88%');
// 发送数据,注意5678端口是Text协议的端口,Text协议需要在数据末尾加上换行符
fwrite($client, json_encode($data)\n");
// 读取推送结果
echo fread($client, 8192);
});
通过日志分析调用fwrite能成功发送数据,在127.0.0.1服务端onMessage回调里也能正常接收到数据,调用$connection->send("hello\n");的返回值为true,那表示数据已经成功写入到该连接的操作系统层的socket发送缓冲区,但fread接收不到结果。在控制器里调用fwrite后fread是能正常接收到结果。不知道什么原因,求解。