2015-11-29 57 views
2

我正在處理我的後端應用程序GCM服務器,並且從我對文檔的理解中,我的應用程序服務器發送的每個下游消息都應該在成功時收到ACK或在出現問題時收到NACK。我能夠在應用程序收到它們時成功發送下行消息,但我從未收到任何確認。我嘗試通過在發送下行消息時加入僞造註冊ID來測試NACK,但仍然沒有收到任何消息。GCM XMPP應用服務器沒有收到下游錯誤

我使用了咂嘴庫,我試着發送下行消息既

XMPPTCPConnection.send() 
XMPPTCPConnection.sendStanzaWithResponseCallback() 

並沒有作出迴應。我錯過了什麼嗎?

回答

2

好吧,我想通了!我正在關注here的一些示例代碼,發現正在使用的StanzaFilter確保偵聽器只能看到包含您的SENDER_ID的請求。我不確定事情是否會有所不同,但ACK和NACK不包含SENDER_ID,因此它們正在從我的監聽器中過濾出來。

我已經用connection.addAsyncStanzaListener(this, MessageTypeFilter.NORMAL);替代了我的StanzaFilter,而不是示例中的自定義過濾器。我打算爲GitHub添加一個基本的服務器,並將所有的研究結果發佈給希望實施他們自己的服務器的其他人。