问题标签 [prosody-im]
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.
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 - 如何使用 XMPP 协议正确连接 strophe.js 客户端与 Prosody 服务器
我已经安装并配置了 Prosody 服务器。它在标准 localhost:5222 上侦听。在配置文件中添加了管理员 - user1@example.com。对服务器的每个请求都以错误结束:
作为客户,我想使用 strophe.js。我只发送存在节($pres)。这是我的代码。
在控制台中我看到错误:
如何将 Access-Control-Allow-Origin 标头添加到我的请求中?
当我尝试向 localhost:5222 发送请求(没有 http)时,我得到:
当我通过 websocket 发送它时,我得到:
Fiddler 向我提供协议违规报告:
ios - iOS 上的 XMPP 房间加入/创建响应代码
我正在尝试通过XMPPFramework创建一个新房间。像这样送存在的意义。
XMPPFramework期望响应代码为201。但我得到110作为回应!
但是当我查看官方规范时,它期望得到两个代码。现在完全让我困惑。
xmpp - 配置文件中没有“pidfile”选项 [韵律]
我使用 ejabberd 作为我的 XMPP 服务器。现在我只是为了测试目的而切换到 Prosody。安装和配置一切顺利。但是,在像sudo service prosody start
这样启动 openfire 服务器时,我会遇到以下错误
我浏览了pidfile 文档链接,但找不到我的解决方案如何克服这个问题。
现在我的 pidfile 路径在/var/run/prosody/prosody.pid
并且文档说我们也可以更改到当前目录。我尝试了很多,但找不到解决方案。
请帮助我并需要一些建议
xmppframework - Prosody 中的流管理 (XEP-0198)
我正在使用 Prosody 进行流管理。但是我遇到了一些问题。
如何确保在 prosody 上启用流管理?有什么命令可以在终端上测试吗?
我还尝试在mod_smacks.lua
模块中添加模块。但我不知道如何在服务器上启用它。
我在 iOS 上使用 XMPPFramework 作为聊天客户端。已经有一种方法可以检查是否支持流管理,但到目前为止它总是返回错误。
请帮助我在韵律中启用流管理。
xmpp - 如何在资源之间共享存在?
我正在开发一个跨平台的应用程序,它与 XMPP (ejabberd) 结合使用。如何在资源之间共享存在?
请考虑以下场景:
用户 A 登录到三个设备:PC、Android 和 iOS。使用 Android 的用户 A 将他的存在设置为“离开”。如何将其他资源设置(同步)为“离开”(并发送存在节)?
我正在寻找使用 XMPP 协议/ejabberd 服务器来解决这个问题;不是通过向客户端添加逻辑。
mysql - 消息存档管理插件 (Prosody) 无法打开存档
我正在尝试让韵律服务器上的消息存档管理 (mam) 正常工作。我用 SQLite3、MySQL 和 PostgreSQL 进行了尝试。
总是这个日志:
存档位于 /var/lib/prosody/ 中。
xmpp - 韵律服务器的远程控制
我正在设置一个 XMPP 服务器,可用于按照中央应用程序的指示向客户端发送实时消息。我希望客户端尽可能简单,所以我希望服务器处理帐户创建和销毁。
我认为 Prosody 可能是我将使用的服务器。我已经在 Docker 映像中设置了它,并且可以执行所有基本功能,但我还没有找到远程管理它的最佳方法。我希望将以下两个函数公开给经过身份验证的用户(通过 XMPP 或 HTTP):
- 创建用户
- 删除用户
我考虑过设置一个 PythonSimpleHTTPServer
实例,但这打破了在独立容器中运行每个应用程序的 Docker 模型。我可以有多个容器并在它们之间来回通信数据,但这开始增加复杂性,感觉像是矫枉过正。
有谁知道通过 HTTP 监视和管理 Prosody(或其他)XMPP 服务器的简单方法?
xmpp - Prosody/Pidgin 不发送好友授权请求
我正在本地机器上设置 Prosody XMPP 服务器以进行概念验证,我只想与自己进行一个简单的聊天会话。我将它设置为允许注册,并且能够注册新用户,但是当我向我注册的其他用户之一发送好友请求时,他没有收到它,并且包括我自己在内的所有用户都显示为“未经授权”在 Pidgin 中。
我在本地机器上是“test2”,在另一台机器上,我以“test3”身份登录。当我从 test2 向 test3 发送好友请求时,没有任何反应。
在 Pidgin 中,我看到的唯一日志是
其中 example.com 是我的域。
我的韵律日志只是说我已经通过身份验证,但没有提到发送好友请求:
我的问题在哪里?
xmpp - 设置 XMPP 服务器以使用 Web 服务器上的其他 JSON API 进行用户存储和身份验证
我们正在开发一种消费硬件产品。每个设备都在中央网络服务器上注册,并且所有者还拥有一个与该设备相关联的用户帐户。所有者还可以选择与其他用户共享设备。
现在,为了解决通过防火墙等问题,我们正在使用 XMPP:用户使用 iOS/Android 应用程序访问他/她的设备。该应用程序连接到 XMPP 服务器,硬件设备也是如此。因此应用程序可以通过发送自定义 XMPP 节来访问设备。
目前设备和移动应用程序使用相同的 JID,因此设备将只允许来自与其使用的相同裸 JID 的消息。为了允许共享设备,我们计划改用名册:设备将获得自己的 JID(“hw381983829@thexmppserver.com”),并将接受其名册中所有 JID 的节。
我遇到的问题是用户、设备和设备共享数据存储在网络服务器上。我想在 XMPP 服务器上使用相同的信息:允许网络服务器上的所有用户和设备登录 XMPP,并且设备的名册与可以访问它的用户相同。可以通过 JSON API 访问此信息。
一种方法是在更改发生时对其进行镜像,但我不喜欢这个想法,因为有太多可能出错的步骤。
我能想到的最佳解决方案是让 XMPP 服务器使用 JSON API 而不是其内置数据库。它将是只读的,但这不是问题,因为所有注册和共享都应该在网络服务器上完成。
关于如何进行的任何想法?上述功能或多或少是我们所需要的:我们不需要 S2S、离线消息等。我们目前正在使用 Ejabberd,但 Prosody 或 Openfire 或许是更好的选择?