Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用openfire的XMPP Smack聊天_Xmpp_Openfire_Smack - Fatal编程技术网

使用openfire的XMPP Smack聊天

使用openfire的XMPP Smack聊天,xmpp,openfire,smack,Xmpp,Openfire,Smack,关于使用Smack(3.2.1)/Openfire(3.7.1 Alpha)聊天的几个问题 我目前正在使用单元测试对其进行测试。我的单元测试创建连接、创建帐户、登录、将新用户添加到花名册中、尝试向新用户发送聊天消息,并最终删除这些用户。除了我对如何让聊天室正常工作感到困惑之外,其他人似乎也能正常工作(使用openfire管理仪表板进行验证) A.当我执行以下操作时 public void sendChatMessage(String sender, String receiver, String

关于使用Smack(3.2.1)/Openfire(3.7.1 Alpha)聊天的几个问题

我目前正在使用单元测试对其进行测试。我的单元测试创建连接、创建帐户、登录、将新用户添加到花名册中、尝试向新用户发送聊天消息,并最终删除这些用户。除了我对如何让聊天室正常工作感到困惑之外,其他人似乎也能正常工作(使用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.我假设每个用户都会有一个XMPP连接?这是正确的吗

D.

XMPPConnection.DEBUG_ENABLED = true;

当我的XMPPConnection处于调试模式时,会打开一个新窗口,但它与我的IDE绑定。我怎么能让它不与ide绑定,这样我就可以在调试代码时查看日志了?

A:我想我误解了它的工作原理。当有人向我发送消息时,监听器中的processMessage会从我可以进一步处理的地方接收消息。Buser@localhost看起来不错。我认为每个用户打开一个到openfire的连接是有道理的。不要在单元测试中尝试。当我有一个正确的客户端连接到服务器时,它工作正常。我有更多的问题,因为我仍然不认为我完全理解这一点。如果Openfire所做的只是“让我知道”消息已经到达,我是否可以简单地将接收/发送的所有消息存储在db中,然后我自己将它们发送到相应的接收者(无论如何我都需要这样做,因为Openfire实际上没有为我发送消息-我没有使用任何其他插件)。还是莫名其妙!!!你能添加一些关于如何做的教程或例子吗?我还创建了一个android应用程序,它具有群聊功能。。。我正在使用此API,但无法接收MSG。