1

我正在关注 Android GCM 演示教程(http://developer.android.com/google/gcm/demo.html),并且我正在尝试让该应用程序在我的 Android 手机上运行,​​但是每当我运行该应用程序时我收到消息的电话:正在尝试(尝试 1/5)在演示服务器上注册设备

然后在 5 次尝试失败后,我收到错误消息: 5 次尝试后无法在演示服务器上注册设备

在尝试运行应用程序之前,我正在运行 GCM 服务器,而 GCM 服务器正在我的本地笔记本电脑上运行。以下服务器值已在 GCM-Demo-Client 项目的“app”文件夹中的“CommonUtilities”文件中设置。

SERVER_URL = "http://192.168.1.100:8080/gcm-demo";
SENDER_ID = "245619476079";

我知道这是一个内部 IP 地址,但是我在尝试在我的外部 IP 地址上运行服务器时遇到了其他问题,并且我的 Android 设备已连接到同一个 WI-FI 网络,所以我不确定为什么这行不通。

请帮忙 :)。

PS 如果有人对如何让 GCM-Demo-Server 在我的外部 IP 地址上运行有任何建议,那就太好了!目前,我能为我的机器找到的唯一外部 IP 地址是无线调制解调器/路由器的 IP,它只允许我访问调制解调器/路由器选项(即使我让 GCM-Demo-Server 在该外部IP地址)。

4

3 回答 3

1
SERVER_URL = "http://192.168.1.10:8080";

使用这个 url,它会在 page: 上注册 http://192.168.1.10:8080/home,而不是在 page 上 http://192.168.1.10:8080/gcm-demo,并且不能发送消息。

于 2013-04-30T08:08:28.770 回答
0

终于设法解决了这个问题。不知道为什么,但在从 URL 末尾删除“/gcm-demo”后,我的设备能够成功连接到 GCM 服务器并接收消息。因此,在“CommonUtilities.java”文件中设置的最终“SERVER_URL”显示为:

SERVER_URL = "http://192.168.1.100:8080";

还要感谢尼克的提示,设法通过端口转发使其工作在我的外部 IP 地址上,使最终的 SERVER_URL 看起来像:

SERVER_URL = "http://<external_ip>:8080";

谢谢你们的帮助:)

于 2013-03-07T12:33:54.877 回答
0

确保在 php.ini中启用curl 。这个对我有用。

例如,对于Ubuntu/Debian服务器,您需要运行以下命令:

sudo apt-get install php5-curl

之后,重新启动 Apache 服务器:

sudo /etc/init.d/apache2 restart

使用Windows尝试从 wamp 设置启用。

有关启用 curl 的更多信息,请参阅

于 2016-06-21T09:42:21.823 回答