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