FCM XMPP:没有“成功”回复

时间:2018-02-25 16:19:18

标签: node.js firebase xmpp firebase-cloud-messaging

我正在使用nodejs来实现带有XMPP的服务器应用程序。我正在关注guide to authorize an XMPP connection。我的问题恰恰是我期待

的时候
<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>

当我发送服务器密钥时,进行SASL PLAIN身份验证。它是这样做的

const key = Buffer('\x00' + senderId + '@gcm.googleapis.com\x00' + serverKey).toString('base64');
const message = `<auth mechanism="PLAIN"
xmlns="urn:ietf:params:xml:ns:xmpp-sasl">${key}</auth>`;

其中 senderID 是“云消息传递”标记中的号码 serverKey 是“Cloud Messaging”标记中的服务器密钥之一。有两种服务器密钥类型:一种是“普通”,另一种是继承;我使用这两种类型都没有成功。

我真的不知道我做错了什么,或者我错过了什么。

连接的前两个步骤,'hello'和来自FCM的机制响应列表已完成。但是,在此之后,FCM关闭连接。我怀疑是与这个问题有关。

我很感激帮助。感谢。

1 个答案:

答案 0 :(得分:0)

我已经与Firebase支持团队联系,他们已经解决了我的问题(非常感谢)。

使用nodejs,你必须避免在套接字上实现事件'end',因为这似乎强制关闭套接字,并使用相同的套接字。另一件事是避免设置套接字编码。您可以使用其他编码转换缓冲区。 有了这一切,我可以将这个问题标记为已解决。