我使用PHP中的STOMP协议连接到一个feed
因为来自Feed的消息不多,我相信我的脚本认为我已经丢失连接,并且弹出以下错误: -
未捕获的异常' StompException'从socket'
中读取消息'意外的EOF如果我能发出心跳,我相信脚本会继续运行 - 即知道我还在那里
代码如下。我的问题是我遇到了错误。见下面的新编辑
$channel="VSTP_ALL";
$con=new Stomp($server,$user,$password,array('heart-beat'=>'0,20000'));
if (!$con) {
die('connection failed: ' .stomp_connect_error());
}
$con->subscribe("/topic/".$channel);
if ($con->hasFrame()){
$msg=$con->readFrame();
foreach (json_decode($msg->body) as $event) {
var_dump($event);
}
$con->ack($msg);
}
die ('connection lost:'.time());
?>
修改
已经编辑过以将数组的语法(' heart-beat',' 0,20000')移动/更改为数组(' heart-beat' = >' 0,20000&#39)
但是我现在在foreach行中得到如下错误: -
注意:尝试在
中获取非对象的属性警告:为foreach()提供的参数无效
然后在ack($ msg)行
警告:Stomp :: ack():将参数2视为字符串或StompFrame对象。在