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

Cha*_*ini 19 php android xmpp xmpphp google-cloud-messaging

像推送通知(下游消息),我想在我的Android设备上实现上传消息到我的app服务器.

我正在使用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();
...
Run Code Online (Sandbox Code Playgroud)

我收到了以下错误.

1455354076 [INFO]: Connecting to tls://gcm-preprod.googleapis.com:5236 1455354106 [ERROR]: Could not connect. Could not connect before timeout.
Run Code Online (Sandbox Code Playgroud)

And*_*ger 1

这很可能是由于CCS 目前不支持 STARTTLS 扩展造成的。我在使用 Elixir 和 Hedwig 时遇到了同样的问题(请参阅此处)。

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