无法使用 XMPPHP 将我的应用服务器连接到 GCM 的 CCS [关闭]

Posted

技术标签:

【中文标题】无法使用 XMPPHP 将我的应用服务器连接到 GCM 的 CCS [关闭]【英文标题】:Not able to connect my app server to GCM's CCS using XMPPHP [closed] 【发布时间】:2016-02-08 06:27:14 【问题描述】:

像推送通知(下游消息)一样,我想在 php 中实现从我的 android 设备到我的应用服务器的上游消息传递。我正在使用来自 Github 的 this 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]:连接到 tls://gcm-preprod.googleapis.com:5236 1455354106 [错误]:无法连接。超时前无法连接。

【问题讨论】:

【参考方案1】:

CCM 如何知道将上游消息发送到哪里(哪个应用服务器)?由于提供的文档中没有解释。

我认为您错过了文档中的部分内容:

为了发起上游消息,客户端应用发送一个包含以下内容的请求:

接收应用服务器的地址,格式为 SENDER_ID@gcm.googleapis.com。 每个发件人 ID 应该是唯一的消息 ID。 消息数据包含消息负载的键/值对。

您需要指定 SENDER_ID 才能知道您要发送到哪个服务器。 Sender ID是从API控制台获取的项目号

PHP中如何处理上游消息?因为我在后端使用 PHP。

这个thread 可能会对您有所帮助。阅读接受的答案中的 cmets。

上面说要使用 PHP,你需要寻找支持 XMPP 协议的库。

【讨论】:

我已经编辑了这个问题,因为我对此有所了解。请帮助解决问题。谢谢

以上是关于无法使用 XMPPHP 将我的应用服务器连接到 GCM 的 CCS [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

无法将我的应用服务器连接到 FCM XMPP 服务器

我将我的 RDS (psql) 数据库设置为不可公开访问,现在我无法使用 pgAdmin 连接到我的数据库。我现在如何连接到它?

无法将我的站点连接到服务器上的 Access DB

我无法将我的 TablePlus 连接到数字海洋 postgresql 数据库

Spring Security:无法将我的 UserDetailService 自动连接到 AuthenticationProvider 以进行 BCrypt 集成

将我的 React 应用程序连接到 PHP 服务器上的 MySQL 数据库