问题标签 [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.

0 投票
0 回答
516 浏览

xmpp - 在 ejabberd 中自动将匿名用户的角色设置为访问者?

我正在开发一个使用 XMPP 和 moc_muc 具有群聊功能的项目,其中只有注册用户可以发送消息(而匿名用户只能读取但不能写入)。我正在使用 ejabberd,支持 SASL 匿名(注册用户使用自定义外部脚本进行身份验证)。

我现在唯一能想到的方法是为两种类型的用户使用 2 个不同的主机,并编写一个组件来根据他/她的主机在用户加入房间时根据他/她的主机设置用户的角色。这可能有效,但对于看似微不足道的问题似乎是一种相当复杂的方法。我对 XMPP 和所有规范/模块/组件了解不多,所以我可能错过了一些明显的东西。我将不胜感激任何指针!

谢谢一堆

0 投票
1 回答
1149 浏览

xmpp - 使用 XMPP (ejabberd) 跟踪 MUC 房间列表

我想让客户跟踪 ejabberd 提供的多用户聊天服务上的房间列表。这将需要接收服务器上所有房间的房间创建/销毁和存在事件的通知。

有没有办法订阅接收有关此类事件的通知,而无需发送出席事件,从而加入所有房间的名单?

FWIW,我发现了如何发送房间列表请求(http://xmpp.org/extensions/xep-0045.html#disco-rooms),我一直在尝试理解 pubsub 系统(http://xmpp.org/extensions/xep-0060.html#glossary)希望我能在那里找到解决方案,但似乎没有什么明显的。

在 XMPP 领域中执行此操作的正确(TM)方法是什么?

Ubuntu 10.04 + ejabberd 2.1.5-3+squeeze1 + Strophe.js & BOSH & jQuery

0 投票
1 回答
610 浏览

xmpp - 从 ejabberd 模块访问 muc roster (disco_items?)

我正在构建一个 ejabberd 模块来将消息的副本发送到外部 RESTful API。一切正常,对该 API 的请求正在发送带有发件人、收件人和消息正文的 POST 参数。

我为此触发了 user_send_packet 和 user_receive_packet 钩子,我可以从数据包中提取参数(发件人、收件人、正文):

对于群聊 (MUC),我还想在参数中发送 MUC 名册(参与者),但我不知道如何访问它们。

有这方面的活动吗?谁能指点我一些文件?

提前致谢!

0 投票
1 回答
1142 浏览

ios - 使用 xmppFramework 在 ejabberd 服务器上实现 MUC

我想知道是否可以创建聊天室并邀请人?我已经在我的 Mac 上设置了 ejabberd,并在 此链接之后实现了与单个好友的聊天,但我想实现 MUC。我尝试了带有 xmppframework 的 MUC 演示项目但每次我得到错误 404 找不到远程服务器。委托方法

永远不会被调用。反而

这个方法被调用。有没有人使用 localhost 作为服务器成功实现了 MUC?如果是,请告诉我您正在使用的 XMPP 客户端,因为对于 ejabberd,它说找不到远程服务器。

0 投票
2 回答
7072 浏览

ios - 接受聊天室邀请

我可以使用 XMPPFramework 创建一个 MUC,并使用下面的代码向用户发送加入该房间的邀请请求。

用户“abc”如何知道他已收到邀请,以及如何通过接受或拒绝对邀请做出反应?

我在 XMPPFramework 中找不到任何直接处理聊天室邀请的类。我的研究表明,每当用户收到聊天室邀请时,都会调用 xmmppStream 的委托方法:

在该消息中,我检查它是否包含名称为“invite”的 NSXMLElement,如果包含则我向用户发送回调。然后我创建与用户收到邀请的聊天室名称同名的聊天室,然后进入新创建的房间。它工作正常,但安静冗长,效率不高。我想知道 XMPPFramework 中是否有一个可以单独处理聊天室邀请的类。例如,检测、接受和拒绝房间邀请。

我提取房间名称的代码:

0 投票
1 回答
1974 浏览

ios - XMPPFramework - 如何创建多用户聊天室?

如何使用 XMPPFramework 在 iPhone 中实现 GroupChat。我尝试了闲置代码但没有创建房间。我怎么知道是否创建了房间。没有调用 XMPPRoomDelegate。当 Stream 断开连接时,调用了 handleDidLeaveRoom 方法。任何人都可以帮助我。提前致谢

0 投票
1 回答
1442 浏览

android - 如何在android中创建群聊?

我正在使用 aSmack 库在 android 中创建群聊 (MultiUserChat)。能够创建 MultiUserChat 实例,在该域中获取可用房间并能够加入特定房间。现在我对此有一些疑问,那些是

  1. 是否需要在整个应用程序中为 MUC 维护相同的实例?
  2. 如何获取特定房间的最近 20 次讨论历史?

现在我尝试这样获取讨论历史

通过使用上面的代码,我现在只从服务器收到一条消息,这也是历史上可用的第一条消息。但我的要求是我想获得房间讨论历史记录中的所有最后 20 条消息。

有人帮我解决这个问题...

0 投票
1 回答
1724 浏览

xmpp - Smack 在线用户的多用户聊天列表

我正在使用帐户管理员从我的第三方服务器登录我的 openfire XMPP 服务器。

我需要在特定的多用户聊天中发现可用的用户。对于“可用”,我指的是房间内所有在线用户。

我知道一种方法是连接到房间并听取用户的存在,但出于我的目的,我需要即时获取完整的列表。

可能吗?

0 投票
2 回答
885 浏览

android - 为 MultiUserChat 添加监听器 (aSmack)

我们如何初始化 MultiuserChat,这些是细节,要创建 MultiuserChat 类的对象,我们需要连接和房间名称作为参数 // 这是 MultiUserChat 的构造函数

它仅适用于我们有房间的情况。如果我们在一个房间里。我的问题是,如果我们不在房间内,或者我们没有加入/创建任何房间,我们如何初始化 MultiUserChat 类。因为要添加诸如邀请拒绝和 addinvitationListener 之类的侦听器,我们需要 MultiUserChat 的对象。

0 投票
1 回答
717 浏览

android - 在 Android 中创建聊天室会出现错误:“item-not-found(404)

我正在使用 ASMACK 开发一个聊天应用程序。我能够连接并发送私人聊天消息。但是,当尝试创建聊天室时,我收到错误:

这是我正在使用的代码:

我该如何解决这个问题?