【问题标题】:GCM and Smack APIGCM 和 Smack API
【发布时间】:2013-05-25 12:21:21
【问题描述】:

我尝试使用 Smack API 连接到 GCM 的云连接服务器。我的代码:

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 错误。有什么想法吗?

【问题讨论】:

  • 请添加更多信息。仅有代码是不够的。最好包含 XMPPException 的堆栈跟踪和类型以及一些日志输出。
  • 您的项目 ID(又名发件人 ID)是否已被 Google 列入白名单?

标签: java android xmpp smack google-cloud-messaging


【解决方案1】:

根据CCS documentation

CCS 需要传输层安全 (TLS) 连接。这意味着 XMPP 客户端必须启动 TLS 连接。例如在 smack 中,你会调用 setSocketFactory(SSLSocketFactory),类似于“旧式 SSL”XMPP 连接和 https。

因此在您的代码中使用以下内容:

config.setSocketFactory(SSLSocketFactory.getDefault())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    相关资源
    最近更新 更多