javascript - 访问其他HTML页面时如何避免与当前socket.io连接断开
问题描述
`var express = require('express');
var app = express();
var server = require('http').Server(app);
var socket = require('socket.io');
var io = socket.listen(server);
server.listen(process.env.PORT || 3000);
var session = require('express-session')({
secret: 'my_secret',
resave: true,
saveUninitialized: true
});
var sharedsession = require('express-socket.io-session');
app.use(session);
io.use(sharedsession(session));
app.use(express.static('public'), function (req, res, next) {
//req.accepts('html');
next();
});
io.on('connection', function (socket) {
console.log('new connection ' + socket.id);
io.emit('socket', socket.id);
socket.handshake.session.userdata = socket.id;
socket.handshake.session.save();
});
`我正在使用 express、node 和 socket.io 构建一个站点。我正在尝试实现与实际页面不同的登录页面。如何解决用户在访问登录页面时与当前 socket.io 连接断开的问题?
我尝试实现 express-session 和 express-socket-io-session 来创建会话,希望用户在尝试从当前页面访问登录页面时保持连接。
我想跟踪在他访问登录页面期间连接到 socket.io 连接的用户以及在他登录后被重定向到主页。
解决方案
推荐阅读
- ios - 如何从此输出中获取用户价值
- ios - iOS - 在这个自适应布局的时代,是否仍然可以向 UITabBarController 动态添加项目?
- django - 在 django 过滤器中使用关系时过滤器的 OR 定义
- r - 使用 wlidcard 对成对矩阵进行子集
- python - ARIMA模型的Python多处理
- php - 管理繁重文件夹的文件传输的最佳方法
- javascript - 映射对象,在单个循环中删除元素
- java - Netty 框架 - 多端口监听
- angular - 如何在 Angular 2 中管理用户级别的访问?
- spring - Spring Boot + Liquibase - 启动期间出现 NotWritablePropertyException