2013-03-06 57 views
1

我正在关注Android GCM演示教程(http://developer.android.com/google/gcm/demo.html),但我试图让应用程序在我的Android手机上工作,但是每当我在手机上运行应用程序时,我都会收到以下消息: 尝试(企图1/5)来演示服务器上注册设备Android设备上的GCM演示

再经过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网络,所以我不确定为什么这不起作用。

请帮忙:)。

P.S.如果任何人有任何建议如何让GCM-Demo-Server在我的外部IP地址上运行,那将非常棒!目前我能找到的唯一外部IP地址是无线调制解调器/路由器的IP,它只允许我访问调制解调器/路由器选项(即使我使GCM-Demo-Server在该外部设备上运行IP地址)。

+0

我猜你使用Tomcat作为你的服务器,所以如果你输入192.168.1。100:8080从你的手机的浏览器,你看到的Tomcat欢迎页面? – NickT 2013-03-06 13:40:43

+0

要使用外部IP地址,则需要在演示服务器上将路由器设置为从端口xxxx到端口8080的“端口转发”。您将以your_address_or_hostname:xxxx的身份访问服务器。 – NickT 2013-03-06 13:51:26

+0

感谢Nick的回应,我实际上使用在我的标准Windows8笔记本电脑上运行的Java AppEngine作为我的“Web服务器”,仅用于开发和测试目的。 可以在非服务器机器上运行Tomcat吗? 另外,感谢有关路由器的信息,当我回家时,我肯定会给出一个与路由器设置一起去。 – 2013-03-07 00:43:28

回答

0

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

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

也感谢提示尼克,设法得到它正在与端口转发我的外部IP地址,使得最终SERVER_URL外观像:

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

感谢您的帮助球员:)

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

使用这个网址,它将页面上注册: http://192.168.1.10:8080/home, 不是页面 http://192.168.1.10:8080/gcm-demo, 并且不能发送消息。

0

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

例如,的Ubuntu/Debian的服务器,你需要运行这个命令:

sudo apt-get install php5-curl 

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

sudo /etc/init.d/apache2 restart 

的Windows尝试启用来自wamp设置。

更多关于使卷曲参考this

相关问题