2013-03-06 58 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

相關問題