GCM连接错误 [英] GCM connection error

查看:212
本文介绍了GCM连接错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试使用XMPP(CCS)实现gcm服务器应用程序,但无法连接到Google服务器。
我正在尝试 http://developer.android.com中的示例代码/google/gcm/ccs.html



当我尝试连接时

  ccsClient.connect(userName,password); 

我收到以下错误:

  gcm.googleapis.com:5235例外情况:XMPPError连接到gcm.googleapis.com:5235。 :remote-server-error(502)
- 由:XMPPError连接到gcm.googleapis.com:5235。:remote-server-error(502)XMPPError连接到gcm.googleapis.com:5235。
- 由以下原因引发:java.net.ConnectException:连接超时:在org.jivesoftware的org.jivesoftware.smack.XMPPConnection.connectUsingConfiguration(XMPPConnection.java:592)
处连接
。 smack.XMPPConnection.connect(XMPPConnection.java:1010)SmackCcsClient.connect(SmackCcsClient.java:249)
Sample.main(Sample.java:342)

嵌套异常:
XMPPError连接到gcm.googleapis.com:5235。:remote-server-error(502)XMPPError连接到gcm.googleapis.com:5235。
- 由:java.net.ConnectException引发:连接超时:在org.jivesoftware的org.jivesoftware.smack.XMPPConnection.connectUsingConfiguration(XMPPConnection.java:565)
处连接
。 smack.XMPPConnection.connect(XMPPConnection.java:1010)SmackCcsClient.connect(SmackCcsClient.java:249)
Sample.main(Sample.java:342)

嵌套异常:
java.net.ConnectException:连接超时:在java.net.PlainSocketImpl.socketConnect(Native方法)上连接
在java.net.PlainSocketImpl.doConnect(未知源)

在java.net.PlainSocketImpl.connectToAddress(未知源)
在java.net.PlainSocketImpl.connect(未知源)
在java.net.SocksSocketImpl.connect(未知源)
在java .net.Socket.connect(未知来源)
在com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(未知来源)
在com.sun.net.ssl.internal.ssl .SSLSocketImpl。< init>(未知来源)
at co m.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(Unknown Source)
at org.jivesoftware.smack.XMPPConnection.connectUsingConfiguration(XMPPConnection.java:557)
at org.jivesoftware.smack .XMPPConnection.connect(XMPPConnection.java:1010)SmackCcsClient.connect中的
(SmackCcsClient.java:249)Sample.main处的
(Sample.java:342)
线程main java.lang.NoClassDefFoundError:SmackCcsClient $ GcmPacketExtension $ b $ SmackCcsClient.send(SmackCcsClient.java:130)
在Sample.main(Sample.java:357)
引起:java.lang .ClassNotFoundException:SmackCcsClient $ GcmPacketExtension $ b $在java.net.URLClassLoader $ 1.run(未知源)$ b $在java.security.AccessController.doPrivileged(本地方法)$ b $在java.net.URLClassLoader。 findClass(Unknown Source)$ java.util.ClassLoader.loadClass(Unknown Source)
sun.misc.Launcher
$ java.lang.ClassLoader
$ AppClassLoader.loadClass(Unknown Source)升oadClass(Unknown Source)
... 2 more

我使用服务器密钥API密钥(密码)
和用户名=项目编号+@ gcm.googleapis.com



我的项目被列入白名单,用于上游消息
被认为关闭的港口在我的工作场所开放。 5228,5292和5230为我的IP。
我应该用它来开放端口吗?公共Ip或另一个?



可能是什么问题?
请帮我解决这个问题!提前致谢 您可以尝试从命令行 - 例如
telnet gcm.googleapis.com 5235



如果您看到已连接到gcm.l.google.com - 您的防火墙很好。



CCS(由第三方服务器使用的XMPP端点)正在使用端口5235 -
连接到GCM的android / chrome设备需要5228,5229端口。



< AFAIK 5230不是我们的港口之一,不知道你是如何得到它的。


I am trying out implementing gcm server application using XMPP(CCS) and i cant able to connect to the google servers. I am trying out the sample code from http://developer.android.com/google/gcm/ccs.html

when i try to connect

ccsClient.connect(userName, password); 

i get the following error

gcm.googleapis.com:5235 Exception: XMPPError connecting to gcm.googleapis.com:5235.; : remote-server-error(502)
  -- caused by: XMPPError connecting to gcm.googleapis.com:5235.: remote-server-error(502) XMPPError connecting to gcm.googleapis.com:5235.
  -- caused by: java.net.ConnectException: Connection timed out: connect
    at org.jivesoftware.smack.XMPPConnection.connectUsingConfiguration(XMPPConnection.java:592)
    at org.jivesoftware.smack.XMPPConnection.connect(XMPPConnection.java:1010)
    at SmackCcsClient.connect(SmackCcsClient.java:249)
    at Sample.main(Sample.java:342)
Nested Exception: 
XMPPError connecting to gcm.googleapis.com:5235.: remote-server-error(502) XMPPError connecting to gcm.googleapis.com:5235.
  -- caused by: java.net.ConnectException: Connection timed out: connect
    at org.jivesoftware.smack.XMPPConnection.connectUsingConfiguration(XMPPConnection.java:565)
    at org.jivesoftware.smack.XMPPConnection.connect(XMPPConnection.java:1010)
    at SmackCcsClient.connect(SmackCcsClient.java:249)
    at Sample.main(Sample.java:342)
Nested Exception: 
java.net.ConnectException: Connection timed out: connect
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(Unknown Source)
    at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(Unknown Source)
    at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(Unknown Source)
    at org.jivesoftware.smack.XMPPConnection.connectUsingConfiguration(XMPPConnection.java:557)
    at org.jivesoftware.smack.XMPPConnection.connect(XMPPConnection.java:1010)
    at SmackCcsClient.connect(SmackCcsClient.java:249)
    at Sample.main(Sample.java:342)
Exception in thread "main" java.lang.NoClassDefFoundError: SmackCcsClient$GcmPacketExtension
    at SmackCcsClient.send(SmackCcsClient.java:130)
    at Sample.main(Sample.java:357)
Caused by: java.lang.ClassNotFoundException: SmackCcsClient$GcmPacketExtension
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 2 more

I am using server key for the API key(password) and username="project number"+"@gcm.googleapis.com"

My project is whitelisted for upstream messaging Ports considered to be closed are made open at my workplace. 5228, 5229, and 5230 for my IP. which Ip should i use to open up the ports? public Ip or the other one?

What could be the problem? Please help me resolve this! Thanks in advance

解决方案

Can you try from the command line - for example "telnet gcm.googleapis.com 5235"

If you see "Connected to gcm.l.google.com" - your firewall is good.

CCS ( the XMPP endpoint using by 3rd party servers ) is using port 5235 - the 5228, 5229 ports are needed for android/chrome devices connecting to GCM.

AFAIK 5230 is not one of our ports, not sure how you got it.

这篇关于GCM连接错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆