firebase实时数据库ref(/.info/connected)是如何工作的



我正在使用

firebase.database().ref('.info/connected').on('value', function (snapshot) {
if (snapshot.val() !== false) {
console.log("connected");
}
})

检测用户的存在。我正在尝试了解实时数据库如何检测客户端是否已连接。现在这对我来说是一种黑色魔法。换句话说,在.info/connected字段下,用户被认为是truefalse的条件是什么。

例如,我知道为了成为false,用户可以离开我的web应用程序所在的页面。但具体情况是什么?这是否意味着,如果用户执行firebase.initializeApp(config);代码,并且我在同一文件中运行存在跟踪,则该用户被视为已连接?

当应用程序中的客户端连接到Firebase实时数据库后端时,.info/connected节点返回true。没有什么比这更重要的了,客户端/SDK在建立连接后简单地将节点标记为true,并确保它是false

这与存在性没有严格关系,因为此节点只告诉客户端他们是否连接到数据库服务器。但您通常会将.info/connectedonDisconnect处理程序结合起来,构建一个系统,在该系统中您可以报告自己的存在,然后可以查看其他用户的在线状态。

最新更新