问题标签 [multiuserchat]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何在 android 的 aSmack xmpp 中创建组?
我在 android 中创建 muc 时遇到类转换异常。
xmpp - 使用 (a)Smack 在 XMPP 中创建 WhatsApp、BBM 等群组
我可以在 XMPP Asmack 中实现像 WhatsApp 或 BBM 这样的群聊吗?我正在使用 Openfire 服务器。我已经在 XMPP ( http://xmpp.org/extensions/xep-0045.html ) 中实现了基本的多用户聊天,但它并不包含我需要的所有功能。
我需要群聊的全部功能,例如:
- 无论用户是否在线,组都可以持久化用户。
- 将离线消息传递给组成员(当他上线时)。
我应该自定义服务器吗?或者有关于这个组功能的任何标准?我真的需要帮助解决这个问题。
谢谢你。
java - Smack - 如何读取 MultiUserChat 的配置?
我试图用 Java 创建一个多用户聊天。我正在使用 smack 库。这是我创建多用户聊天的代码:
然后,我尝试使用 mucMessageListener 捕获上面创建的这个房间发送的消息:
作为其他部分(不是该多用户聊天所有者的用户)收到的消息,他能否以某种方式获得上面这一行中设置的值:
你看,仅仅获得房间的 JID 对视图来说并不是很好。我希望我可以有一个值为“格式良好的房间名称”的字符串。
我们怎样才能得到它?
android - 通过MUC接受群聊邀请后如何建立与服务器的连接
下面的代码允许我通过 XMPP MUC 创建和加入房间,并邀请另一个用户(使用他们的 JID)加入房间。
我在手机上收到加入会议室的邀请。但是,当我按下接受时,它并没有建立与聊天室的连接,而是说“您的消息无法传递。请加入聊天”
有人可以帮我解释当用户说接受邀请时如何处理的逻辑吗?
xmpp - 如何使用 Smack 在多用户聊天消息中检索发件人姓名或其 JID?
我正在开发基于 Android 中 XMPP 的聊天应用程序。
我已经完成了一对一的聊天功能,但是在多用户聊天中遇到了一些问题。我已经成功创建了新的聊天室,多个用户可以加入该聊天室。我还addPacketListener
为群聊编写了代码PacketFilter filter = new MessageTypeFilter(Message.Type.groupchat);
当用户在组中发送消息时,我也在该侦听器中接收消息,但我无法区分哪个用户发送了消息。
就像一对一的聊天消息包具有message.getFrom()
检索发送者 JID 的功能。
在多用户聊天的情况下,相同的函数将组/房间 JID 作为发送者返回。
我也尝试在发送时设置 Message 的属性message.setFrom(senderJID);
或message.setFrom(sendername@conference.hostname/Groupname);
我仍然无法获得 senderJID 或其昵称。
所以我的问题是:如何获取发件人用户 JID 或其昵称?来自 messageListener 中的消息(数据包)
在组中发送消息的代码是:-
接收消息的代码是:-
感谢您提供任何帮助或建议谢谢
xmpp - 如何在 XMPP 服务器上实现 XEP-0289 FMUC 插件?
我需要在 XEP-0289 的行上实现一个分布式 XMPP MuC 应用程序减去一些特性,本质上我想要一个插件的基本实现,我关心的是解决容错问题,到目前为止我做不想担心 289 中指定的性能考虑。我已经研究过 SleekXmpp 作为开发服务器端插件的工具,但不知道将它用于这样的实现会有多舒服,我看过的其他选项在 OpenFire , Tigase。我对 Python/Java 和其他需要考虑的关键特性感到满意,比如良好的文档、易用性等,请记住这一点,我想知道这种开发的首选路径是什么。任何指导将不胜感激。
xmpp - 在 Android (aSmack) 上使用 Prosody Server 创建多用户组失败并显示“缺少对房间创建的确认”
我正在开发 Android 中的 XMPP 聊天应用程序,使用Prosody
as XMPP server
。我已经编写了创建Multi User Chat
房间的代码,当我用作服务器时它工作正常Openfire
,但是当我Prosody
用作服务器时它给了我错误,因为
Creation failed - Missing acknowledge of room creation.:
即组已经存在。但对于任何名称(新组名)都会引发相同的错误。
如果我用它替换muc.create(name);
它muc.join(name);
会创建组。但后来我无法配置组/房间属性。
以下是我的韵律配置文件:-
我的组创建代码是:-
我哪里错了?
xmpp - 无法在android中获取xmpp muc房间信息
我正在为我的聊天应用程序使用 asmack 库。我在成功登录后使用下面描述的代码来获取 Muc 房间信息:
我在获取房间信息时收到此错误,当我调试并检查我在日志中获取房间信息但房间信息中没有任何内容时。
10-10 08:55:12.388: W/System.err(1821): java.lang.ClassCastException: org.jivesoftware.smack.util.PacketParserUtils$2 不能转换为 org.jivesoftware.smackx.packet.DiscoverInfo 10-10 08:55:12.428: W/System.err(1821): 在 org.jivesoftware.smackx.ServiceDiscoveryManager.discoverInfo(ServiceDiscoveryManager.java:600) 10-10 08:55:12.458: W/System.err(1821):在 org.jivesoftware.smackx.ServiceDiscoveryManager.discoverInfo(ServiceDiscoveryManager.java:552) 10-10 08:55:12.478: W/System.err(1821): 在 com.demo.xmppchat.CopyOfXMPPChatDemoActivity.getRoomInfo(CopyOfXMPPChatDemoActivity.java: 469)
我在日志中收到的聊天室信息
ios - 如何处理 MUC 聊天消息 - 消息重复
我已经使用 XMPP 框架实现了一对一聊天它在一对一聊天中具有广泛的支持。消息归档和获取非常简单。但我知道,处理群聊消息的保存和显示非常困难。排序和谓词失败。显示重复的消息。
这就是我在获取已保存的消息之前加入房间的方式)
我明白了,有几个冗余的消息保存。一条消息保存 3-4 次。我可能做错了什么。一些身体请帮忙!这是我为在房间中传递消息所做的代码
xmpp - MUC 创建房间的意外存在节
6E64864A-36AF-4B83-8EF5-6E58C4A6117A当我尝试连续两次创建同一个房间时,我两次都从包含“201”状态代码的服务中接收到存在节。
这是预期的行为吗?从 XEP-0045 开始,似乎 201 应该仅在第一次创建房间时发送。
请帮助我理解这一点。为什么两次发送状态码 201?
我如何区分 b/wa 创建新房间和加入现有房间?
请看下面的顺序:
---------第一个请求从这里开始
---------第二个请求从这里开始
----------------------第一次请求后发送的配置节