套接字打开后Atmosphere JS不断发送get请求

Atmosphere JS keeps sending get request after socket open

我在 Atmosphere JS 中使用长轮询来实现会话超时,因此服务器会在用户注销时告诉我。

问题是,一旦订阅,Atmosphere JS 就会每 60 秒发送一次获取请求,这会重新启动用户会话并且永远不会注销。

我已阅读文档并四处搜索,但找不到任何方法来阻止这种情况的发生。这是我的代码:

var socket = atmosphere;
var subSocket;

// subscribe
function subscribe() {
    var request = {
        url : "/web-service/notifier",
        transport: 'long-polling'
    };

    request.onMessage = function (response) {                     
        var jsonStringArray = response.responseBody.split('|');

        // go through each notification and convert from string to object
        $.each(jsonStringArray, function(index, elem){                        
            if (elem != ""){
                var parsedObject = JSON.parse(elem);

                // if notification states user is logged out, log them out
                if (parsedObject.action === 'LOGGED_OUT'){
                    // DO LOGOUT STUFF
                }
            }                                        
        });

    };

    subSocket = socket.subscribe(request);
}

感谢您的帮助。

这就是长轮询的工作原理,例如,连接将在 60 秒后由服务器closed/resumed(您已在服务器端设置该值...检查您的代码)

-- 让弗朗索瓦