无法使用 XMPPHP 库在我的应用服务器和 GCM 的 CCS 之间建立 xmpp 连接

就像推送通知(下游消息)一样,我想在php中实现从我的Android设备到我的应用程序服务器的上游消息传递。

我正在使用Github的这个XMPPHP库将我的应用程序服务器连接到GCM的CCS。但是当我尝试执行以下代码来连接GCM的CCS时:

include 'XMPPHP/XMPP.php';
$conn = new XMPPHP_XMPP('gcm-preprod.googleapis.com', 5236, '<myProjectId>@gcm.googleapis.com', '<myApiKey>', 'xmpphp', 'http://myserverdomain', $printlog=true, $loglevel=XMPPHP_Log::LEVEL_INFO);
$conn->autoSubscribe();
$vcard_request = array();
try {
  $conn->connect();
...

我收到以下错误。

1455354076 [INFO]: Connecting to tls://gcm-preprod.googleapis.com:5236 1455354106 [ERROR]: Could not connect. Could not connect before timeout.

答案 1

这很可能是由于 CCS 当前不支持 STARTTLS 扩展这一事实造成的。我对长生不老药和海德薇格有桑普问题(见这里)。

可悲的是,我没有足够的php知识来检查你的XMPP库是否支持这个,但也许这个SO线程可以帮助你开始使用CCS和PHP。


答案 2

这里有一个类似于您的问题的答案 无法使用XMPPHP将我的应用程序服务器连接到GCM的CCS。当然,如果你不是那里的提问者。我希望它有效。


推荐