Erlang 以用户身份登录Ejabberd

Erlang 以用户身份登录Ejabberd,erlang,ejabberd,Erlang,Ejabberd,我使用的是erlang 17.0,ejabberd 14.07。我正在尝试创建聊天应用程序,我已经完成了注册部分。现在我想从注册用户处登录,但我无法登录,所以我如何在ejabberd上以用户身份登录。 基本上,我的问题是,用户如何成为ejabberd服务器上的在线用户(在本地主机上) 我知道这是一个非常愚蠢的问题,但我找不到任何方法,所以请指导我。使用yourconnection.login(用户名、密码)功能。首先使用命令确保您已在ejabberd上成功注册用户 > sudo ejabb

我使用的是erlang 17.0,ejabberd 14.07。我正在尝试创建聊天应用程序,我已经完成了注册部分。现在我想从注册用户处登录,但我无法登录,所以我如何在ejabberd上以用户身份登录。 基本上,我的问题是,用户如何成为ejabberd服务器上的在线用户(在本地主机上)


我知道这是一个非常愚蠢的问题,但我找不到任何方法,所以请指导我。

使用yourconnection.login(用户名、密码)功能。

首先使用命令确保您已在ejabberd上成功注册用户

> sudo ejabberdctl registered_users localhost
这将列出localhost节点上的所有注册用户。希望你能在那里找到你的用户

现在,您已经成功地设置了ejabberd(XMPP服务器)。为了让用户登录,您需要XMPP客户端

所以,若您使用的是java编程语言,那个么您应该使用SMACK XMPP库来连接到ejabberd服务器。将此代码与您的用户名和密码一起使用,以连接到ejabberd服务器

// Create a connection to the igniterealtime.org XMPP server.
 XMPPTCPConnection con = new XMPPTCPConnection("igniterealtime.org");
 // Connect to the server
 con.connect();
 // Most servers require you to login before performing other tasks.
 con.login("jsmith", "mypass");
 // Start a new conversation with John Doe and send him a message.
 Chat chat = ChatManager.getInstanceFor(con).createChat("jdoe@igniterealtime.org", 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);
     }
 });
 chat.sendMessage("Howdy!");
 // Disconnect from the server
 con.disconnect();
有关此代码的更多详细信息,请访问

如果您想使用Java以外的客户机,那么下面是

连接到ejabberd服务器后,您需要保持该连接,以便进一步发送和接收消息