gpt4 book ai didi

ios - 如何从 openfire 获取房间列表?

转载 作者:行者123 更新时间:2023-11-29 11:56:59 24 4
gpt4 key购买 nike

我正在使用 openfire 服务器和 XMPP 协议(protocol)进行聊天,并且取得了成功。

现在我想实现房间聊天。我在谷歌上搜索了很多,我得到的是“Joing Room”、“Create Room”,但首先我想从 session 中获取所有房间名称的列表。

我有 session 和房间:

#define CONFERENCE_ROOM_SERVER      @"chatroomforfriends"
#define CONFERENCE_ROOM_NAME @"cr1"

'chatroomforfriends' 是 session 名称,它包含 'cr1' 房间。

如何在 iOS 中获取所有房间名称?

最佳答案

根据 MUC XEP (0045),您可以通过查询获得所有房间的列表:

<iq from='hag66@shakespeare.lit/pda'
id='zb8q41f4'
to='chat.shakespeare.lit'
type='get'>
<query xmlns='http://jabber.org/protocol/disco#items'/>
</iq>

你得到的响应是:

<iq from='chat.shakespeare.lit'
id='zb8q41f4' to='hag66@shakespeare.lit/pda' type='result'>
<query xmlns='http://jabber.org/protocol/disco#items'>
<item jid='heath@chat.shakespeare.lit'
name='A Lonely Heath'/>
<item jid='coven@chat.shakespeare.lit'
name='A Dark Cave'/>
<item jid='forres@chat.shakespeare.lit'
name='The Palace'/>
<item jid='inverness@chat.shakespeare.lit'
name='Macbeth&apos;s Castle'/>
</query>
</iq>

详细信息参见XEP-0045

此方法返回由 MUC 服务托管的所有公共(public)房间。要获得私有(private)房间,或获得特定用户的房间,您必须编写一个插件来处理您的自定义查询(XMPP 方式),或者您可以为此在 Openfire 中编写一个 servlet(HTTP 方式)。

关于ios - 如何从 openfire 获取房间列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38656544/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com