【问题标题】:Unable to connect in xmpp server in android无法在android中的xmpp服务器中连接
【发布时间】:2014-11-06 07:08:06
【问题描述】:

我正在使用 Samck 4.1.0-alpha 库来创建 Xmpp 客户端。我已经创建了有效用户。我正在尝试通过代码发送消息。但得到错误。 代码:

new Runnable(){

            @Override
            public void run() {
                // TODO Auto-generated method stub
                ConnectionConfiguration config = new ConnectionConfiguration("jabb3r.org", 5222, "jabb3r.org");
                XMPPConnection connection = new XMPPTCPConnection(config);
                try {
                    connection.connect();
                    connection.login("USERNAME", "PASSWORD");
                    // Assume we've created a XMPPConnection name "connection"._
                    ChatManager chatmanager = ChatManager.getInstanceFor(connection);
                    Chat newChat = chatmanager.createChat("neilneil@jabb3r.org", new MessageListener() {
                        public void processMessage(Chat chat, Message message) {
                            System.out.println("Received message: " + message);
                        }
                    });

                    try {
                        newChat.sendMessage("Howdy!");
                    }
                    catch (XMPPException e) {
                        System.out.println("Error Delivering block");
                    }
//                  ConnectionException.getFailedAddresses();
                } catch (SmackException | IOException | XMPPException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

        };

我收到了这个奇怪的错误。 日志:

11-06 06:55:47.913: E/AndroidRuntime(1604): FATAL EXCEPTION: Thread-115
11-06 06:55:47.913:E/AndroidRuntime(1604):java.lang.NoClassDefFoundError:org.xbill.DNS.ResolverConfig
11-06 06:55:47.913: E/AndroidRuntime(1604):     at org.jivesoftware.smack.SmackAndroid$1$1.run(SmackAndroid.java:41)

我找不到调试此错误的资源。

【问题讨论】:

  • 你在项目中添加了 Samck 库

标签: android xmpp smack


【解决方案1】:

https://community.igniterealtime.org/thread/49329

(请务必阅读自述文件,否则将无法正常工作!)

https://github.com/Flowdalic/asmack/blob/master/README.asmack

Smack requires dnsjava for DNS SRV record lookup. You need to add the
dnsjava library to your project's libraries.

http://www.dnsjava.org/download/

【讨论】:

  • 哦,这有点尴尬!
  • 该自述文件适用于 aSmack。对于 Android 上的 Smack 4.1,我实际上建议使用 minidns 而不是 dnsjava。
猜你喜欢
  • 1970-01-01
  • 2012-04-14
  • 2013-08-27
  • 2014-11-04
  • 2016-06-26
  • 1970-01-01
  • 1970-01-01
  • 2015-07-12
  • 2015-05-24
相关资源
最近更新 更多