我无法通过公司代理向设备发送消息。
我已经在谷歌网站上完成了 GCM 教程,并成功地在谷歌服务器上使用 android 模拟器注册了一个设备,也在我端的服务器上注册了一个设备。
为此,我必须通过公司代理,将其设置在模拟器的接入点中。现在我遇到的问题是通过同一个代理从我的服务器向设备发送消息。我正在使用演示中的 servlet 代码,它使用
com.google.android.gcm.server.Sender
帮助类来发送消息。
我在 tomcat 7 上运行 servlet。
我已经尝试在 catalina.properties 文件中设置代理,就像这样。
http.proxyHost=proxy.company.com
http.proxyPort=8080
我已经尝试在 servlet 内部设置属性,如下所示。
System.setProperty("http.proxyHost", "proxy.company.com");
System.setProperty("http.proxyPort", "8080");
但我仍然得到超时。我知道它是公司代理,因为我在没有代理的情况下在家中进行消息传递。
我已经看到在 java 代码中创建了一个代理对象,然后用它创建了一个连接,但我认为这在这里不可用,因为我使用 Sender 帮助程序类来发送消息。
这是超时失败的行。
Result result = sender.send(message, registrationId, 5);
任何帮助,将不胜感激。
问候
账单