我正在创建一个 iOS 应用程序,它在很大程度上依赖于用户与通知的交互。当用户与通知交互时,他们自己和他们的关注者将立即收到通知。
为此,我决定使用 Firebase 云消息传递,因为我已经在使用其他 Firebase 服务。
我的应用程序服务器是使用 Node.js 用 TypeScript 编写的,并且 node-xmpp-server .根据the documentation ,没有 FCM Java SDK,因此 Node.js 是合乎逻辑的选择。
当我的服务器运行时,它会创建一个 Client
并监听来自 FCM 的传入节。类似这样的东西:
var Client = require('node-xmpp-client')
var client = new Client({
jid: 'user@example.com',
password: 'password'
})
client.on('online', function() {
console.log('online')
})
client.on('stanza', function(stanza) {
console.log('Incoming stanza: ', stanza.toString())
})
对于整个服务器,只有一个 Client
监听来自 FCM 的所有传入节。
我有很多问题无法在 Firebase 文档中找到。
- 同步节会进入我的服务器吗?还是 Firebase 会确保一次只发送和处理一个?
- 如果同时出现节,会发生什么?有些人会迷路吗?
- 我是否需要重组我的服务器来处理同时的节?如果是这样,当我使用 FCM 所能做的就是听节时,我该怎么做?
谢谢!
最佳答案
- 您将同时收到节
- 你应该处理它们并确认它们
- 是的。您需要使用多线程,例如 1 个线程正在接收消息,而另一个(或多个)线程正在处理它们并将 ACK 排队。如何执行此操作取决于您的图书馆/语言。
关于javascript - Firebase Cloud Messaging - 可扩展的应用服务器(同时连接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42252144/