我們正在開發一個具有聊天功能的應用程序。我們有一個ejabberd(15.02)配置爲使用mod_offline_post來使用離線消息掛鉤並將離線客戶端的所有消息轉發給我們自己的url,然後轉發給GCM。Ejabberd與流管理(XEP-198)不使用離線消息鉤
但是,由於我們正在開發一個應用程序,我們還需要啓用XEP-198(流管理)來處理連接丟失。這本身工作正常。流被創建並恢復,消息被確認。
問題是,jabber正在等待一個流恢復,並且不會將任何脫機消息轉發到脫機消息鉤子,從而轉發到我們的mod和post url。當然,它將它們存儲在其離線存儲中,並在收件人恢復其流時收到它們。
有什麼辦法可以配置jabber來調用離線消息鉤,而ejabberd_c2s:fsm_next_state:2517 Waiting for resumption of stream for...
?
PS:我們嫌使用在客戶端提供流管理
假設您的客戶端試圖通過建立到您服務器的TCP連接來保持XMPP連接,那麼爲什麼您甚至要使用GCM,而不是等到客戶端重新建立連接? – Flow 2015-03-02 11:49:45
因爲如果應用程序完全關閉,我們仍然希望客戶端用戶知道他有傳入消息。點擊GCM通知將會打開應用程序,重新建立連接併發送消息。 – Pete 2015-03-03 06:35:25
即使前臺沒有應用程序的活動,您也可以使用粘性後臺服務。 – Flow 2015-03-03 07:02:21