Xmpp 使用Smack 4.1.3注册用户

Xmpp 使用Smack 4.1.3注册用户,xmpp,openfire,smack,asmack,Xmpp,Openfire,Smack,Asmack,我们正在用java构建一个聊天客户端,并使用smack 4.1.3。我注意到的是,在smack 4.0之后,smack API发生了巨大的变化,互联网上提供的注册示例不适用于smack 4.1.3。我没有获得用于注册用户的编写API。任何人都可以提供示例代码。 提前感谢…这将ejabberd服务器与smack 4.1.3连接起来 XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder()

我们正在用java构建一个聊天客户端,并使用smack 4.1.3。我注意到的是,在smack 4.0之后,smack API发生了巨大的变化,互联网上提供的注册示例不适用于smack 4.1.3。我没有获得用于注册用户的编写API。任何人都可以提供示例代码。
提前感谢…

这将ejabberd服务器与smack 4.1.3连接起来

   XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder()
            .setUsernameAndPassword("testuser", "pass")
            .setServiceName("example.com")
            .setHost("example.com")
            .setResource("test")
            .setSecurityMode(XMPPTCPConnectionConfiguration.SecurityMode.disabled)
            .setPort(5222)
            .build();

    SASLMechanism mechanism = new SASLDigestMD5Mechanism();
    SASLAuthentication.registerSASLMechanism(mechanism);
    SASLAuthentication.blacklistSASLMechanism("SCRAM-SHA-1");
    SASLAuthentication.unBlacklistSASLMechanism("DIGEST-MD5");

    AbstractXMPPConnection con = new XMPPTCPConnection(config);
    try {
        con.connect();
        con.login();
    } catch (Exception ex) {
        System.out.println(ex.getCause() + " " + ex.getMessage());
        Logger.getLogger(redcore.class.getName()).log(Level.SEVERE, null, ex);

    }

您是否有任何问题或限制,不允许您使用简单的REST api,openfire提供的用于注册用户、检索、删除等的插件


请参阅官方文件。

你好,斯帕利,非常感谢您的回复。如果我们使用bosh模式而不是tcp模式,您知道我们需要做的代码更改吗。我们觉得bosh模式比tcp模式更适合我们的情况。检查此代码,这可能会有所帮助。