断开firebase套接字而不刷新或关闭页面

时间:2013-05-11 03:38:28

标签: firebase

我想在不刷新或关闭页面的情况下断开firebase套接字,但是如何做到这一点?

我可以使用socket.disconnect()或socket.close()这样的方法吗?我刚刚找到了socket.onDisconnect()方法。

2 个答案:

答案 0 :(得分:18)

Firebase最近为每个客户端Firebase.goOffline()Firebase.goOnline()添加了对两种新静态方法的支持,允许您在应用程序中手动断开连接并重新连接。

来自https://www.firebase.com/docs/javascript/firebase/gooffline.html

  

手动断开Firebase客户端与服务器的连接并禁用   自动重新连接。

     

Firebase客户端自动维护与之的持久连接   Firebase服务器,它将无限期地保持活动状态   断开连接后重新连接。但是,goOffline()和goOnline()   在某些情况下,可以使用方法手动控制客户端连接   持久连接是不受欢迎的。

     

离线时,Firebase客户端将不再接收数据更新   从服务器。但是,所有Firebase操作都在本地执行   将继续立即触发事件,允许您的申请   继续正常行事。另外,执行每个操作   本地将自动排队并在重新连接时重试   Firebase服务器。

     

要重新连接到Firebase服务器并开始接收远程事件,   请参阅goOnline()。重新建立连接后,Firebase即可   客户端将传输适当的数据并触发相应的数据   事件,以便您的客户自动“赶上”。

     

注意:调用此方法会影响所有Firebase连接。

有关详细信息,请参阅Firebase.goOffline( )Firebase.goOnline( )

答案 1 :(得分:-18)

var dataRef = new Firebase(“https://SampleChat.firebaseio-demo.com/”);

您可以使用 dataRef.unauth()断开连接。