我使用Long Polling with Atmosphere JS进行会话超时,因此服务器会告诉我用户何时退出。
问题是,一旦订阅,Atmosphere JS每60秒发送一次get请求,重新启动用户会话并且永远不会将其注销。
我已经阅读了文档并进行了搜索,但无法找到阻止这种情况发生的任何方法。这是我的代码:
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);
}
感谢您的帮助。
答案 0 :(得分:1)
这是多长时间轮询的工作原理,例如60秒后服务器将关闭/恢复连接(您已设置该值服务器端...检查您的代码)
- Jeanfrancois