在 agsxmpp 中发现加入的房间
Posted
技术标签:
【中文标题】在 agsxmpp 中发现加入的房间【英文标题】:Discover joined rooms in agsxmpp 【发布时间】:2015-09-16 06:13:15 【问题描述】:我正在使用agsxmpp
在C#
和.NET
中开发一个聊天应用程序。到目前为止,我已经成功地进行了 single chat 和 groupchat。
但是现在我在检索我已经作为所有者或成员加入的房间时遇到了问题。
我已经尝试在互联网上找到有关这种方法的信息,但没有这种方法。我知道有办法找到服务器中的所有房间。但是,我只想发现我创建的房间,即我拥有或我是其中的成员。
agsxmpp
中是否有任何方法允许这样做?或任何其他方式来做到这一点?
欢迎任何帮助..
【问题讨论】:
【参考方案1】:你的问题非常好,我现在正在面对它。我找到的解决方案是使用MucManager
并请求每个组的所有者、管理员和成员列表。
MucManager 有一系列方法可以促进这一点。以下是其中一些:
RequestMemberList(Jid, IqCB)
RequestAdminList(Jid, IqCB)
RequestOwnerList(Jid, IqCB)
您需要确保正确定义 iq 回调以在服务器响应时处理列表。
您可以在此处的官方文档中找到有关MucManager
类的更多信息:http://www.ag-software.net/download/xmpp/agsxmpp.7z
你需要下载源码,解压并打开../agsxmpp/doc/html/html/
中基于html的文档
【讨论】:
谢谢你的帮助...我之前想过这个方法,但发现它很长,所以现在我决定使用 API 来解决这个问题.. 如果你的 xmpp 服务器提供了一个单独的 API 那很好。但是,如果您迁移到纯 Ejabberd 会发生什么?您的客户端实现失去了兼容性:) 不确定你发现这么长,让组所有者导致方法 5 行对我来说很长。也许您遇到的问题与架构有关?以上是关于在 agsxmpp 中发现加入的房间的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 agsxmpp 在 c#.net 中的 ofMucRoom 表中获取持久空间的条目