Tag: smack

GCM连接错误

我正在尝试使用XMPP(CCS)实现gcm服务器应用程序,我无法连接到谷歌服务器。 我正在尝试http://developer.android.com/google/gcm/ccs.html中的示例代码 当我尝试连接 ccsClient.connect(userName, password); 我收到以下错误 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 […]

使用Smack库解析XMPP的EventElement

任何人都可以帮助告诉我如何解析此事件pub元素并获取以下数据包的Message对象。 也许我的关键字/搜索术语谷歌搜索不正确,但我在寻找有关此文档或教程时找不到任何有用的信息。 我已经阅读了一些关于PacketParserUtils和XmlPullParser的内容,并试图实现它,我继续得到null。 码 EventElement event = groupMessage.getExtension(“event”, “http://jabber.org/protocol/pubsub#event”); try { XmlPullParser parser = PacketParserUtils.newXmppParser(); Log.d(TAG, “processStanza event: “+ event.toXML().toString()); parser.setInput(new StringReader(event.toXML().toString())); Item items = (Item) parser.getProperty(“items”); Log.d(TAG, “processStanza: ” + items); } catch (XmlPullParserException e) { e.printStackTrace(); } This is the message

在实施基于GCM XMPP的App Server时,无法将XMPP服务器与smack:EOFexception连接

java.io.EOFException: no more data available – expected end tag to close start tag from line 1, parser stopped on END_TAG seen …… @1:344 at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:3035) at org.xmlpull.mxp1.MXParser.more(MXParser.java:3046) at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1144) at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093) at org.jivesoftware.smack.PacketReader.parsePackets(PacketReader.java:279) at org.jivesoftware.smack.PacketReader.access$000(PacketReader.java:44) at org.jivesoftware.smack.PacketReader$1.run(PacketReader.java:70) //资源: https : //developer.android.com/google/gcm/ccs.html#implement 我已经尝试了在android网站上给出的确切代码,但它正在抛出文件exception结束,我认为这是MXParser中的一些错误(虽然不太确定)。 如果smack XMPP库是问题,是否有任何其他xmpp库可以用于GCM CCS? 任何人都可以帮我解决这个问题。 在下图中,您可以看到结束流标记未关闭,但这是我收到数据包的方式。 发送和接收数据包输出窗口:

(a)Smack在登录时返回“service-unavailable(503)”错误()

我正在尝试使用asmack库在Android上实现一个简单的jabber messenger。 这是代码: public boolean login() { if (connection != null && connection.isConnected()) { Log.i(“XMPP”, connection.getHost()); try { connection.login(USERNAME, PASSWORD); } catch (XMPPException e) { e.printStackTrace(); return false; } return true; } return false; } 我在connection.login()之后得到的exception(连接看起来很好): service-unavailable(503) at org.jivesoftware.smack.NonSASLAuthentication.authenticate(NonSASLAuthentication.java:77) at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:239) at org.jivesoftware.smack.Connection.login(Connection.java:353) at com.someapp.networking.XMPPMessenger.login(XMPPMessenger.java:60) at com.someapp.XMPPService.onCreate(XMPPService.java:33) at android.app.ActivityThread.handleCreateService(ActivityThread.java:2780) at android.app.ActivityThread.access$3200(ActivityThread.java:119) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1917) at android.os.Handler.dispatchMessage(Handler.java:99) […]

smack RosterListener无法在Android中运行

目前我正在使用Xmpp SMACK API进行聊天应用。但是当我调用addrosterListener时,我没有获得Presence当前状态。我必须参考http://www.igniterealtime.org/builds/smack/docs/3.2.2 /javadoc/org/jivesoftware/smack/RosterListener.html。请帮助我。 roster.addRosterListener(new RosterListener() { @Override public void presenceChanged(Presence presence) { Log.d(“pewsence “, “pewsence Status: ” + presence.getFrom()); Log.d(“pewsence “, “pewsence to Status: ” + presence.getTo() + ” ” + presence); // Called when the presence of a roster entry is // changed } @Override public void entriesUpdated(Collection arg0) { // Called when […]

Smack:“找不到认证路径的信任锚”

我正在尝试从Android连接到localhost中的Apache Vysper XMPP服务器。 我正在使用Smack框架来执行XMPP操作: AbstractXMPPConnection connection = new XMPPTCPConnection(“bigdestroyer”, “”, ip); try { connection.setPacketReplyTimeout(10000); connection.connect(); } catch (SmackException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (XMPPException e) { e.printStackTrace(); } 但我得到这个错误: javax.net.ssl.SSLHandshakeException:java.security.cert.CertPathValidatorException:未找到证书路径的信任锚。 我想这与SSL证书有关,但我不知道我该做什么。 你能帮助我吗? 我试图在assets文件夹中放置cert文件(与服务器相同)并以这种方式创建连接: XMPPTCPConnectionConfiguration connectionConfiguration = configuration.setConnectTimeout(10000) .setUsernameAndPassword(“admin”, “admin”) .setHost(ip) .setServiceName(ip) .setKeystorePath(“file:///android_asset/bogus_mina_tls.cert”) .build(); XMPPTCPConnection connection = new XMPPTCPConnection(connectionConfiguration); 但它仍然无效。 […]

使用smack库在JAVA中实现GCM CCS(XMPP)。 gcm.googleapis.com连接失败

我正在尝试GCM在android客户端和java中的服务器应用程序之间进行通信。 我正在使用基于XMPP的GCM,因为我需要异步的双向消息。 在我的客户端,1。Google Play服务检查显示需要更新。 google play services is out of date. Requires 4242000 but found 3136130 Api等级-17,使用AVD和谷歌API,Android 4.2.2谷歌播放服务修订版15如何解决这个问题? 但我可以成功注册该设备。 在服务器端,我使用2.我使用smack库3.4.1我使用谷歌文档中的示例代码。 我收到以下错误 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:247) […]

使用smack连接到Google Talk

我想开发一个连接到Google Talk的Java应用程序,允许用户与其朋友聊天。 我正在使用smack API和以下代码: ConnectionConfiguration config = new ConnectionConfiguration(“talk.google.com”,5222,”gmail.com”); SASLAuthentication.supportSASLMechanism(“PLAIN”, 0); XMPPConnection connection = new XMPPConnection(config); try { connection.connect(); } catch (XMPPException e) { e.printStackTrace(); } try { connection.login(“username”, “password”); } catch (XMPPException e) { e.printStackTrace(); } 但是我得到了一个例外: SASL authentication PLAIN failed: invalid-authzid: at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:337) at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:203) at org.jivesoftware.smack.Connection.login(Connection.java:348) at Main.main(Main.java:21) 有人可以帮我解决这个问题吗?

如何使用Smack使用XMPP设置/获取配置文件数据

我正在Android上使用Smack库在XMPP客户端上工作。 名单/消息/存在的东西运行得很好。 但是,我没有找到存储其他个人资料信息的方法(userpicture,狗名,……)。 我从谷歌搜索看到的唯一方法是使用VCards。 但它根本行不通。 我尝试了以下方法: VCard vCard = new VCard(); vCard.load(connection); vCard.setEmailHome(“meine_home@email.de”); vCard.setLastName(“Scheller”); vCard.setField(“blafasel”, “asdf”); vCard.save(connection); 然后我一直在寻找一种方法来查看VCard信息。 它既没有出现在iChat中也没出现在这个System.out中: vCard.load(connection, user); System.out.println(user + ” has this vCard: ” + vCard.toXML()); 所以出了什么问题,但没有任何迹象表明它是什么。 我尝试使用google talk服务器和我自己的openfire副本,结果相同。 顺便说一下,我正在使用这个版本的Smack: http : //davanum.wordpress.com/2007/12/31/android-just-use-smack-api-for-xmpp/ 我在这做错了什么? 使用Smack存储配置文件相关信息的正确方法是什么?

我试图连接到服务器时出现’remote-server-timeout’exception

在尝试通过以下代码连接到openfire服务器时: Connection connection = new XMPPConnection(“https://192.168.0.101:5222”); connection.connect(); 我得到一个例外,说: https://192.168.0.101:5222:5222 Exception: Could not connect to https://192.168.0.101:5222:5222.; : remote-server-timeout(504) 这可能是什么原因? 注意 :我已经允许openfire fire服务器通过防火墙。我也试过推迟防火墙,但结果相同.Server是我自己的机器。 我正在尝试运行程序的同一台机器。