我在通过公司代理向设备发送消息时遇到了问题。
我在谷歌网站上完成了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 helper类来发送消息。
这是一条会在超时时失败的代码行。
Result result = sender.send(message, registrationId, 5);
任何帮助都将不胜感激。
敬礼,
比尔