关于让 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,以便在尝试调试代码时查看日志?