Javascript 如何在会话过期时断开套接字连接
我有一个小的express应用程序,其中还包含socket程序。当用户成功登录时,它会完美地创建会话和套接字连接 但我的问题是,当express会话过期或cookie manager删除会话时,套接字仍处于活动连接中。它正在接收信息。如何在成功登录后即使会话不可用也断开连接 我的代码是: 这是我的html文件,用于获取警报消息:Javascript 如何在会话过期时断开套接字连接,javascript,node.js,session,express,socket.io,Javascript,Node.js,Session,Express,Socket.io,我有一个小的express应用程序,其中还包含socket程序。当用户成功登录时,它会完美地创建会话和套接字连接 但我的问题是,当express会话过期或cookie manager删除会话时,套接字仍处于活动连接中。它正在接收信息。如何在成功登录后即使会话不可用也断开连接 我的代码是: 这是我的html文件,用于获取警报消息: <!DOCTYPE html> <html> <head> <script src="jquery.min.js">&l
<!DOCTYPE html>
<html>
<head>
<script src="jquery.min.js"></script>
<script src="socket.io.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.ajax({
type: 'GET',
contentType: 'application/json',
url: './alert'
});
});
</script>
<script>
var socket = io.connect();
socket.on('message',function(data){
alert(data.msg);
});
</script>
</head>
<body>
<button>alert</button>
</bodY>
</html>
谢谢。在发出消息之前,您是否可以检查req.session是否存在
app.get('/alert',function(req,res){
if(req.session)
io.sockets.in('sairam').emit('message',{msg:'hai'});
else
//Disconnect the client from server side
res.end();
});
要从服务器端断开插座,请检查此答案
app.get('/alert',function(req,res){
if(req.session)
io.sockets.in('sairam').emit('message',{msg:'hai'});
else
//Disconnect the client from server side
res.end();
});