在Web的离线功能部分中,描述了here如何检测客户端是否连接到互联网。但是,每当客户端在Node环境中运行时连接或断开连接时,Firebase似乎都不会调用事件处理程序。它在浏览器中运行时按预期工作,即每次客户端连接或断开互联网时调用事件处理程序。
查看此here。一旦您运行小提琴并连接或断开互联网连接,您将在控制台中看到相应的“已连接”或“已断开连接”消息。
我在Node中运行了以下代码,这与我在浏览器中运行的代码完全相同。在Node环境中运行时,我发现我收到了初始的“已连接”和“已断开连接”消息但如果我再次连接并断开与Internet的连接,则不会打印任何消息,这意味着未调用事件处理程序
@SerializedName("id") @Expose private Integer id;
答案 0 :(得分:1)
我刚刚在我的系统上的节点中运行了相同的脚本:
$ node connected.js
未连接
连接
未连接
连接
前两个来自脚本的初始启动。最后两个日志行是在我关闭笔记本电脑的wifi一分钟然后再打开之后出现的。
Firebase客户端检测到它与服务器的连接丢失可能需要一些时间,因此请耐心等待。花费时间的原因取决于您运行的环境(浏览器/节点),因为Firebase客户端依赖于该环境来提供WebSocket并检测超时。