java - 无法连接到 Openfire 服务器

标签 java xmpp smack

我正在尝试使用 smack API 连接到 openfire 服务器,但无法这样做。

这是代码:

public class Tests{

public static void main( String[] args ) {

    System.out.println("Starting IM client");

    // gtalk requires this or your messages bounce back as errors
   ConnectionConfiguration connConfig = new ConnectionConfiguration("localhost", 5222);
   XMPPConnection connection = new XMPPConnection(connConfig);

    try {
        connection.connect();
        System.out.println("Connected to " + connection.getHost());
    } catch (XMPPException ex) {
        //ex.printStackTrace();
        System.out.println("Failed to connect to " + connection.getHost());
        System.exit(1);
    }
    try {
        connection.login("test@example.com", "setup1");
        System.out.println("Logged in as " + connection.getUser());

        Presence presence = new Presence(Presence.Type.available);
        connection.sendPacket(presence);

    } catch (XMPPException ex) {
        //ex.printStackTrace();
        System.out.println("Failed to log in as " + connection.getUser());
        System.exit(1);
    }
   connection.disconnect();  
}
}

以下是输出:

Starting IM client
Connected to localhost
Failed to log in as null

似乎可以连接到服务器,但无法登录。

最佳答案

connection.login("test@example.com", "setup1");

如果您的服务器在本地主机上启动,您绝对不应该登录 example.com 域。 尝试一下:

 connection.login("test", "setup1");

但请记住,为了能够登录,您需要拥有有效的用户名和密码。这意味着您必须在服务器上创建用户“test”,密码为“setup1”。

关于java - 无法连接到 Openfire 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9768202/

相关文章:

java - 如何检查一个字符串是否包含另一个字符串中的字符?

Android 和 XMPP : Currently available solutions

android - Xmpp String utils 经常使应用程序崩溃

java - 无法比较日期

java - 为什么 Java 找不到与类保存在同一文件夹中的 CSV 文件?使用 duke.edu 文件资源

javascript - XMPP 客户端未连接 - 使用 Node Bosh 服务器

java - 如何创建自定义邀请消息以加入聊天室中的用户 - smack

java - 如何检索 IQ 响应

java - android中实现AsyncTask和GridView的Fragment

android - 在 Android 中获取 XMPP Open Fire 私有(private)聊天历史和消息存档