问题标签 [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 AsyncTask 未返回所有结果
我正在开发一个使用 Smack 库连接到 Openfire 服务器的 Android 应用程序。我有一个从 onStart() 方法调用 AsyncTask 以检索信息并将其添加到 UI 的活动。
AsyncTask 将使用 Smack MultiUserManager 类中的 getHostedRooms() 方法,遍历每个房间并从房间中获取 JID 值和主题字符串,并将该信息添加到哈希映射中。然后在 onPostExecute 方法中将该哈希映射返回给主线程。
我遇到的问题是异步任务通常不能提供所有正确的值。例如,有三个房间,通常它只会返回一两个的信息,有时会发送 null 而不是主题字符串。
当我调试代码并逐步完成它时,它每次都有效,所以我认为问题是不允许异步任务在全速运行时返回之前调用循环中的每一步。
有什么方法可以确保允许异步任务完成并按预期返回?我查看了 asynctask.get() 方法,但这似乎阻塞了 UI 线程。我已经复制了下面的 AsyncTask,如果您需要更多信息,请告诉我!
编辑:为了澄清,每次输入哈希映射的所有键值都是不同的
php - 如何从 php 或使用 ejabberd 的直接命令创建 MUC 房间
我有一个应用程序需要在正常注册过程发生时注册一个ejabberd 用户。我使用ejabberdctl register
命令处理了这个。
同样,我需要将一些用户添加到 MUC 组,因此,我需要使用 php/命令行创建一个组。
我发现ejabberdctl create_room 可以满足我的需要,但我似乎无法使其工作。
我用这个:
但这会打印出一个堆栈跟踪。我已启用 mod_muc_admin
现在, create_room 命令接受 3 个参数,即name、service和host。
我似乎无法弄清楚这个服务参数。
任何帮助将不胜感激。在这上面花了一整天!
PS 我使用的是 Ubuntu 14.04 x64 和 ejabberd 15.07
javascript - 使用 ejabberd 创建聊天室 StropheJS 时出错
我正在尝试使用 StropheJS 创建一个聊天室
我的代码:
在创建房间时,我面临以下错误。
我发现 roomJID 的格式应该是 room_name@conference@HOST@/nickname 。所以按照我发送的格式。但它不会创造房间。
我使用 ejabberd 作为我的 XMPP 服务器。如果房间创建,那么与房间相关的详细信息将保存在哪个数据库中?它保存在muc_registered
表格还是muc_room
表格中?
xmpp - ejabberd mod_muc 加入聊天室时出错 (503)
我已经从 ejabberd 15.04 更新到 15.07 并且 MUC 停止工作。(我复制了完全相同的配置文件)。我可以正常创建房间并更改选项,但是当我发送邀请并且用户尝试加入时,我收到消息 503 - 服务不可用。
这是之前工作正常但停止工作的 muc 配置:
知道可能会发生什么吗?我读过一些关于 DNS 的东西,但老实说,这都是本地的,与网络从一个版本到另一个版本没有任何变化
这是日志。第一部分是我发送直接邀请,然后接受使用 Adium 加入房间。
这是 ejabberd 配置文件:https ://gist.github.com/nunohorta/b7e97503d3b7eb2921e0
我清除了当前数据库,MUC 又开始工作了。
xmpp - 从 MUC 成员列表中删除用户
有没有一种方法可以让用户从 XMPP 多用户聊天成员列表中删除自己,而不必成为所有者或管理员(即,将他的从属关系从成员更改为无)?
ios - 没有在 iOS 中获取 Xmpp 房间聊天成员列表
我正在尝试在聊天室成员列表中给出的解决方案,但是。但是从这个链接我很困惑在哪里放置'editRoomPrivileges'方法。我正面临从属许可的确切问题。我试图从组所有者帐户将每个参与者的附属权限设置为“成员”,但我在方法中遇到“不允许”错误
我认为默认的组所有者有权修改从属关系。房间属于持久型和公共型。
我邀请了这样的用户,
请帮我获取房间成员列表。
android - 加入MultiUserChat时Android Smack给出超时异常
我正在尝试在 Android 上使用 Smack 加入 MultiUserChat。目前我可以完美地一对一聊天,并且我已连接到服务器,就像我在网上显示的那样。我按照此处提供的示例进行操作。
我有以下代码加入MultiUserChat
(MUC)。
但这给了我
org.jivesoftware.smack.SmackException$NoResponseException: No response received within reply timeout. Timeout was 5000ms (~5s). Used filter: AndFilter: (FromMatchesFilter (full): testroom@groups.app.buur.nu/test, StanzaTypeFilter: org.jivesoftware.smack.packet.Presence).
我尝试将超时时间增加到 10000 毫秒,但仍然超时。这里有什么问题?创建一对一聊天可以正常工作并connection.isConnected())
返回 True...
所以事实证明我得到了一个错误
<presence to="app.buur.nu/7c65be6" id="lgcSp-4" type="error"><x xmlns="http://jabber.org/protocol/muc"/><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://www.igniterealtime.org/projects/smack" ver="os2Kusj3WEOivn5n4iFr/ZEO8ls="/><error code="401" type="auth"><not-authorized xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></presence>
基本上,当我尝试加入房间时,身份验证没有完成。身份验证完成后,是否可以添加侦听器以接收更新?我看到了https://www.igniterealtime.org/builds/smack/docs/latest/javadoc/org/jivesoftware/smack/SASLAuthentication.html#authenticate%28java.lang.String,%20javax.security.auth.callback.CallbackHandler %29但实现我自己的身份验证机制似乎有点矫枉过正......
不是有onAuthenticationCompletedListener
什么吗?
javascript - 使用 strophe js muc 插件获取具有附属所有者的 muc 用户
您好,我正在使用 muc 插件并试图让 muc 用户具有“所有者”的从属关系。我尝试使用加入 muc 时添加的 onRoster 回调来执行此操作。
将花名册数据打印到控制台时,我得到了所有数据,但我只得到一个消息,说它是一个快照。展开后,它拥有所有居住者。
我是否以正确的方式解决这个问题。当我尝试获取所有者并且缺少所以居住者时,似乎该对象没有完全填充。为什么是这样?
android - How to send composing / is typing (Chat states) event in Multiuser chat / Group chat & One to One chat in xmpp android?
I want send composing event in Group (Multiuser) chat in xmpp, I am using asmack library, I have done same functionality with One to One chat.
I am using below code:
Please let me know if you have any idea for the same.
Any help will be appreciated.
java - TextSecure (Signal) 开源服务器设置
我正在尝试设置文本安全服务器,但我找不到合适的指南或文档,我已经从 GitHub 中可用的开源源构建了 textsecure - 服务器 jar 和客户端 apk,但是如何配置它和使用我们自己的服务器进行托管。我找不到任何相同的资源。
据我了解,我使用 maven 构建了以下内容:
1.Websocket-Resources.jar(依赖jar)
2.TextSecureServer.jar
github 中提供的其他类似 jar(它们也需要吗?): libtextsecure-java libaxolotl-java
在Textsecure-server/config路径中的sample.yml文件中,它要求提供 twilio、gcm 推送和数据库凭据。
wrt twilio 和 push,我有想法,但是 wrt 数据库,我们应该使用相同的 postgre 还是 textsecure 与任何数据库兼容。
我的问题:
除了 GCM 到 textsecure 的推送服务器之外,还有其他依赖项吗?
如何通过配置我们的服务器 ip 和端口在我们自己的服务器中托管 textsecure?
如果有人成功配置了 textsecure,请向我们提供有关其设置的见解。
参考链接: