我尝试使用Smack API连接到GCM的Cloud Connection Server。我的代码:
ConnectionConfiguration config = new ConnectionConfiguration("gcm.googleapis.com","5235");
config.setCompressionEnabled(true);
config.setSASLAuthenticationEnabled(true);
config.setSocketFactory(SocketFactory.getDefault());
Connection conn = new XMPPConnection(config);
conn.connect();
conn.login(Config.GCM_SENDER_ID, Config.GCM_API_KEY);
但是我遇到了连接失败错误和XMPPException错误。有什么想法吗?
答案 0 :(得分:2)
CCS需要传输层安全性(TLS)连接。这意味着XMPP客户端必须启动TLS连接。例如在smack中,你会调用setSocketFactory(SSLSocketFactory),类似于“旧式SSL”XMPP连接和https。
因此,请在代码中使用以下内容:
config.setSocketFactory(SSLSocketFactory.getDefault())