0

关于让 Chat 与 Smack (3.2.1)/Openfire(3.7.1Alpha) 一起工作的几个问题。

我目前正在使用单元测试对其进行测试。我的单元测试创​​建连接、创建帐户、登录、将新用户添加到其名册、尝试向新用户发送聊天消息并最终删除用户。除了我对让聊天工作感到困惑之外,其他人似乎都在工作(使用 openfire 管理仪表板验证)。

A.当我执行以下操作时

public void sendChatMessage(String sender, String receiver, String message) {     
    Chat chat = chatManager.createChat(receiver, messageListener);     
    chat.sendMessage(message);
}

当前连接是“发件人”(即发件人已登录),我的尝试是向“收件人”发送消息。当我在侦听器中获得回调时,message.getFrom() 返回“接收者”并且 message.getBody() 返回 null。我显然试图代表“发送者”向“接收者”发送消息。我错过了什么?

B.我的“发送者”和“接收者”只是唯一的“用户名”(没有任何@域),而我的服务器只是“本地主机”。

connection = new XMPPConnection("localhost");

我是否需要将“接收者”修改为具有不同的值以使其成为有效的 JID(目前没有错误)?如果我更改我的服务器(以及 openfire 服务器配置)怎么办?

C.我假设每个用户总会有一个 XMPPConnection?这个对吗?

D.

XMPPConnection.DEBUG_ENABLED = true;

当我在调试模式下使用 XMPPConnection 时,会打开一个新窗口,但是它与我的 IDE 绑定。我怎样才能让它不绑定到 ide,以便在尝试调试代码时查看日志?

4

0 回答 0