如果我有一个Firebase实时数据库服务器应用程序托管在云端(例如,Heroku),并且有一个典型的监听器:
FirebaseOptions options = new FirebaseOptions.Builder()
...
FirebaseApp.initializeApp(options);
...
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
...
}
});
并且这个服务器应用偶尔会进入睡眠状态,是否会为听众事件唤醒? Firebase用于与我的服务器应用程序进行侦听事件的机制是什么,这是正常的http请求吗?
答案 0 :(得分:1)
Firebase客户端(例如您在应用服务器上运行的客户端) 通常使用(web)套接字与后端进行通信。
在Heroku上,您很可能正在运行Web套接字仿真层 本机套接字的顶部。
在没有可用的Web套接字的浏览器中,Firebase客户端 回到长期民意调查。
Firebase客户端定期发送保持活动以防止套接字 从超时开始。