我需要使用服务器的控制面板发送推送通知。
服务器是一个位于代理后面的Linux虚拟云盒。控制面板是使用J2EE和Tomcat设计的
我正在使用基于JAVA的https://github.com/notnoop/java-apns/releases API进行推送
代码
ApnsService service = APNS.newService().withSandboxDestination().withCert("mycert.p12", "mypassword").build();
String messageTobeSent = APNS.newPayload()
.alertBody("Message with badge 2")
.badge(2)
.alertTitle("Message with badge 2")
.sound("ding.wav")
.build();
service.push("d81f0080ed7bf05ac96261dc1805fbf00230073f606f1388a644469b1893446f", messageTobeSent, new Date());
我收到错误无法连接到APNS服务器,我的问题是
答案 0 :(得分:1)
回答你的第3个问题,无论如何都会解决前两个问题。 NotNoop Java-Apns绝对支持代理。
请参阅提供的{/ 3}}
提供的Java文档指定用于建立与Apple Servers的连接的代理
在您的代码中,您可以按照以下内容
ApnsService service = APNS
.newService()
.withSandboxDestination()
.withProxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress("<your proxy host>", <your proxy port>)))
.build();
现在库本身将通过代理连接
答案 1 :(得分:0)
是您APNS客户端无法连接到该机器的APNS服务器。请从运行应用程序的计算机上测试与APNS服务器的TCP连接。您可以使用nc命令测试从Linux机箱到APNS服务器的连接。是APNS与代理无关,因为APNS连接在TCP上工作。如果您可以将防火墙配置为连接到APNS,那么它应该可以正常工作。
nc apns_server_host apns_server_port