几乎没有关于使用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()返回'receiver',message.getBody()返回null。我显然试图代表'发送者'向'接收者'发送消息。我错过了什么?
B。我的'发件人'和'收件人'只是唯一的“用户名”(没有 任何@domain),我的服务器只是'localhost'。
connection = new XMPPConnection("localhost");
我是否需要将'receiver'修改为不同的值才能使其成为有效的JID(此时没有错误)?如果我更改服务器(& openfire服务器配置)怎么办?
C。我假设每个用户总会有一个XMPPConnection?这是对的吗?
D。
XMPPConnection.DEBUG_ENABLED = true;
当我在调试模式下运行XMPPConnection时,会打开一个新窗口,但是它与我的IDE绑定在一起。我如何才能将它与ide无关,以便在尝试调试代码时查看日志?