2016-05-23 110 views
0

我有一個使用XMPP發送下行消息的Erlang編寫的簡單應用服務器。預計客戶端應用程序將是Android設備。我的Erlang模塊實現gen_server行爲;在init它使用XMPP連接到GCM連接服務器(CCS), 並且它有一個導出功能發送下游消息。使用XMPP關閉GCM連接服務器的套接字

問題是當我嘗試發送消息時SSL套接字被關閉。如果我不發送任何消息,套接字將在20秒內關閉。

驗證成功完成,我確實收到<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>響應。在發送消息時沒有ACK消息,套接字立即關閉。代碼here。這是一個使用rebar3的Erlang項目。

這裏缺少什麼?爲什麼我的套接字連接關閉?

+0

我不確定是否可以在init函數中打開套接字。通常,主管啓動所有'gen_servers'的時間有限。看看他們在這個例子中是如何做到的:https://github.com/erlware/Erlang-and-OTP-in-Action-Source/blob/master/chapter_11/gen_web_server/src/gws_server.erl – Amiramix

回答

1

該問題通過認證後發送附加節來解決。查看問題鏈接在問題中提到的代碼,以查看哪些節應互換以便能夠發送通知。

GCM CCS docs缺少此信息,因此出現問題。

相關問題