如何为RabbitMQ启用服务器端检测信号?

如何为RabbitMQ启用服务器端检测信号?,rabbitmq,stomp,Rabbitmq,Stomp,我在PhoneGap上使用web stomp plugin+SockJS/stomp.js,并观察到在某些情况下(可能与网络有关),流量可以停止,而不会触发连接错误。为了解决这个问题,我想我可以使用心跳,所以我在js中添加了以下内容: function Connect() { console.log('Connecting...'); // Connect var ws = new SockJS(mq_url); client = Stomp.over(ws);

我在PhoneGap上使用web stomp plugin+SockJS/stomp.js,并观察到在某些情况下(可能与网络有关),流量可以停止,而不会触发连接错误。为了解决这个问题,我想我可以使用心跳,所以我在js中添加了以下内容:

function Connect() {
    console.log('Connecting...');
    // Connect
    var ws = new SockJS(mq_url);
    client = Stomp.over(ws);
    client.heartbeat.outgoing = 5000;   // if 5000 means client will send heart beat every 5000ms
    client.heartbeat.incoming = 5000;   // if 0 means client does not want to receive heartbeats from server
    client.debug = function (str) {
        $("#debug").append(timeStamp() + str + "<br>");  
        varmessage = str;
    };
    client.connect(
    mq_username, mq_password, on_connect, on_connect_error, mq_vhost);
}
我尝试将heartbeat参数添加到rabbitmq.config中,但似乎不起作用。文档没有提到heartbeat参数是用于客户端还是服务器heartbeat

[
       {rabbit, [
                {cluster_nodes, {['rabbit@server'], disc}},
                 {cluster_partition_handling, autoheal},
         {heartbeat, 1}
        ]},

heartbeat参数在客户端上实现。RabbitMQ将响应客户端发送的心跳信号。服务器可以请求客户端以一定的间隔发送心跳,但客户端不必跟随

[
       {rabbit, [
                {cluster_nodes, {['rabbit@server'], disc}},
                 {cluster_partition_handling, autoheal},
         {heartbeat, 1}
        ]},