0

我已经实现了 GcmDemo 应用程序,它在使用模拟器测试时工作正常

但是在使用真实设备进行测试时,相同的应用程序无法正常工作

我能够注册 GCM 服务器并获取注册 ID,但无法注册 TomCat 服务器

我已经按照教程http://androidv5.wordpress.com/2012/08/15/how-to-implement-google-cloud-messaging/

日志猫:

06-19 12:44:27.620: E/trade(4424): Failed to register on attempt 1
06-19 12:44:27.620: E/trade(4424): java.net.ConnectException: failed to connect to /192.1.2.101 (port 8080): connect failed: ETIMEDOUT (Connection timed out)
06-19 12:44:27.620: E/trade(4424):  at libcore.io.IoBridge.connect(IoBridge.java:114)
06-19 12:44:27.620: E/trade(4424):  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
06-19 12:44:27.620: E/trade(4424):  at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
06-19 12:44:27.620: E/trade(4424):  at java.net.Socket.connect(Socket.java:848)
06-19 12:44:27.620: E/trade(4424):  at libcore.net.http.HttpConnection.<init>(HttpConnection.java:77)
06-19 12:44:27.620: E/trade(4424):  at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
06-19 12:44:27.620: E/trade(4424):  at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:351)
06-19 12:44:27.620: E/trade(4424

任何人都可以帮忙吗?

4

2 回答 2

1

您能够在模拟器中运行,因为客户端(模拟器)和服务器都在同一个网络中。现在您正在尝试使用设备,因为客户端(设备)无法找到本地服务器,所以连接超时。将您的设备连接到与服务器相同的网络。

为确保可以从设备访问服务器,您可以在设备的 Web 浏览器中浏览您的服务器 IP。

于 2013-06-19T08:30:35.520 回答
1

尝试从您的设备浏览器检查您的 PC(带有 tomcat 服务器)的可用性。只需在 url 字段中输入 192.1.2.101:8080 即可。它应该向您显示默认的 tomcat 欢迎页面。如果没有,请在本地网络中找到您的 PC(服务器)IP 地址。您的问题是您的设备在您的网络中找不到 IP 地址。

于 2013-06-19T08:18:37.017 回答