我有一个简单的Web应用程序,用户可以通过Facebook登录到CRUD对象(并在地图上显示它们)。 我使用Facebook文档中的完整示例代码成功实现了登录和注销功能,但是用户不会保持登录状态 。 登录后,我可以显示我的Facebook姓氏和名称,但是当我刷新或转到应用程序的下一页 ...
提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供 中文繁体 英文版本 中英对照 版本,有任何建议请联系yoyou2525@163.com。
我有带有活动用户列表的管理页面。 它可以工作,但是当“userX”更改为另一个页面时,所有客户端都会更新,活动用户列表中没有“userX”。 1 秒前“userX”返回活跃用户列表。
服务器控制台
UserX connected...
UserX disconnected... (UserX change to another page inside application)
Reason: transport close
UserX connected... (Because main layout force connection)
当“userX”更改为另一个页面时,nodejs 触发socket.on('disconnect',function(){})动作。 这会导致客户端断开连接...(UserX 更改到应用程序内的另一个页面)原因:传输关闭
服务器代码
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(81, function () {
console.log('NodeJs listening on port:81');
});
io.on('connection', function (socket) {
console.log('New client connected...');
socket.on('disconnect', function (reason) {
console.log('Client disconnected...');
console.log('Reason: ' + reason);
});
});
页码
<script type="text/javascript">
var socket = io(':81', {forceNew: true});
</script>
仅当浏览器关闭或用户退出时,如何保持用户在页面之间的连接并断开连接?
如果您使用页面重定向来更改页面,则页面将被刷新。每次刷新页面时,套接字都会断开连接。
为此,您必须使用internal routing
来load another page
。
检查这个答案Ajax 加载页面而不刷新
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.