【问题标题】:Is it possible to use GCM Cloud Connection Server (XMPP) with a Heroku app?是否可以将 GCM 云连接服务器 (XMPP) 与 Heroku 应用程序一起使用?
【发布时间】:2014-07-31 16:50:46
【问题描述】:

我们正在为 Android 开发一个聊天应用程序,我们的服务器是在 Heroku 上的 Django 中实现的。我们现在必须在 GCM 为您提供的两种可能的连接服务器之间进行选择:HTTP 或 CCS (XMPP)。我们想知道是否可以将 Heroku 与第二选择一起使用。

https://developer.android.com/google/gcm/ccs.html

提前致谢。

【问题讨论】:

    标签: django heroku xmpp google-cloud-messaging


    【解决方案1】:

    从我目前所读到的关于 GCM 的内容来看,是的,这很有可能。 Google 服务器负责与您用户设备上运行的 android 应用程序通信,因此没有问题。

    heroku 托管的 GCM XMPP 服务器负责与 google 服务器通信。入站连接仅限于 Heroku 上的端口 80 和 443,因此只要您只需要从 Heroku 托管的 python 应用程序启动并将出站连接到 Google 服务器,就可以了。

    来自 Heroku 文档..

    入站请求由提供 HTTP 和 SSL 终止。从这里它们被直接传递给一组 路由器。

    路由器负责确定您的位置 应用程序的 web dynos 并将 HTTP 请求转发到其中之一 这些测功机。

    如果您愿意证明,我很乐意为您设置测试环境。

    您还可以运行 bash 提示符来测试 heroku 上的内容。只需在提示符下运行 :/repofolder$ heroku run bash

    这是通过端口 5235 连接到 gcm 的 heroku bash 的屏幕截图

    【讨论】:

    • 看起来不错!如果您设置了这个测试环境,那么我们可以 100% 确定我在 Heroku 上的 Django 应用程序可以与 GCM 一起使用,您有我的 300 分 :)
    • 了解我们需要使用 XMPP 协议与 GCM 通信的那种实现是否可以用 Django 实现也是非常重要的。似乎它需要一个一直运行的进程,我不确定 Django 是否可以这样工作。
    • 可以。我已经阅读了 gcm 的文档,它对 Django 非常友好。 django 还具有您可以创建的命令行管理操作。您可以使用 cron 或持续运行它们。
    • 有很多关于如何将 django 与 gcm 一起使用的文档,请查看此 repo 上的源代码,了解如何在您的特定应用程序中实现它。 github.com/bogdal/django-gcm
    • 不确定您的应用程序如何工作,但您可以让 heroku 工作进程 dyno 从 bash 运行管理员操作或任何您喜欢的命令。然后你也可以有一个 web dyno,它可能是你的 django 项目的 web 前端。
    猜你喜欢
    • 2013-07-15
    • 1970-01-01
    • 1970-01-01
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2013-05-27
    • 2016-06-17
    相关资源
    最近更新 更多