啪API给错误而登录到Tigase服务器安装在本地(Smack API giving error w

2019-10-22 18:27发布

我目前正在开发的Android XMPP客户端与Tigase服务器设置通信locally.Before在Android上开始发展,我在电脑上写一个简单的Java代码与XMPP server.My XMPP域来测试连接性是我的计算机名“mwbn43-1”和管理员用户名和密码都是admin,并分别tigase。

以下是我使用的代码片段

class Test {

public static void main(String args[])throws Exception
{

System.setProperty("smack.debugEnabled", "true");
XMPPConnection.DEBUG_ENABLED = true;

ConnectionConfiguration config = new ConnectionConfiguration("mwbn43-1", 5222);
config.setCompressionEnabled(true);
config.setSASLAuthenticationEnabled(true);

XMPPConnection con = new XMPPConnection(config);

// Connect to the server
con.connect();
con.login("admin", "tigase");

Chat chat = con.getChatManager().createChat("aaphadke@mwbn43-1",
    new MessageListener() {       
    public void processMessage(Chat chat, Message message) {
           // Print out any messages we get back to standard out.
           System.out.println("Received message: " + message);
       }
   });
        try {
      chat.sendMessage("Hi!");
  }
  catch (XMPPException e) {
      System.out.println("Error Delivering block");
  }


 String host = con.getHost();
 String user = con.getUser();
 String id = con.getConnectionID();
 int port = con.getPort();
 boolean i = false;
 i = con.isConnected();
 if (i)
 System.out.println("Connected to host " + host + " via port " + port + " connection id is " + id);

 System.out.println("User is " + user);
 con.disconnect();
 }
 }

当我运行这段代码,我得到以下错误

 Exception in thread "main" Resource binding not offered by server: 
 at   org.jivesoftware.smack.SASLAuthentication.bindResourceAndEstablishSession(SASLAuthenticatio     n.java:416) at    org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:331)
 at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:395)
 at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:349)
 at Test.main(Test.java:26)

我发现了同样的问题,这个文章,但没有具体的解决方案在这里任何人都可以请告诉我解决这个疑难问题检查啪API在XMPPConnection.java文件,并在链路解决方案给它的外观一样。

谢谢,Ameya

Answer 1:

我找到了解决问题的办法,如给这里

这些都是我应该添加行之前,我连接到服务器

ConnectionConfiguration config = new ConnectionConfiguration("mwbn43-1", 5222);
config.setSASLAuthenticationEnabled(false);
XMPPConnection xmpp = new XMPPConnection(config);

感谢你的帮助



Answer 2:

我认为这是与图书馆,一个错误的问题。 它不能正确处理协议。 用户通过验证,没有发送资源绑定的点之前,因此它不是由服务器通告。 客户端不应该抱怨。



文章来源: Smack API giving error while logging into Tigase Server setup locally