使用STOMP在PHP中实现心跳

时间:2014-08-22 09:41:08

标签: php stomp heartbeat

我使用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对象。在

0 个答案:

没有答案