gpt4 book ai didi

xmpp - 如何在 XMPP ejabberd 服务器中使用 Rosters 访问所有用户

转载 作者:行者123 更新时间:2023-12-02 01:45:29 24 4
gpt4 key购买 nike

我正在使用 XMPP 进行聊天。我已经注册并登录到 ejabberd 服务器。

我在网页界面看到有10个注册用户和4个在线用户。但是 Roster 代表没有得到任何联系方式。

我试过这个解决方案。我没有得到任何结果。

- (BOOL)xmppStream:(XMPPStream *)sender didReceiveIQ:(XMPPIQ *)iq
{
NSXMLElement *queryElement = [iq elementForName: @"query" xmlns: @"jabber:iq:roster"];

if (queryElement) {
NSArray *itemElements = [queryElement elementsForName: @"item"];
[ArrayUsers removeAllObjects];
for (int i=0; i<[itemElements count]; i++) {

NSString *jid=[[[itemElements objectAtIndex:i] attributeForName:@"jid"] stringValue];
[ArrayUsers addObject:jid];
}
}
return NO;
}

可能是什么问题?我是否必须为此配置服务器设置才能获取联系人。默认情况下所有人都可以访问它吗?或者,我是否必须进行查询以获取用户详细信息并自动同步到 CoreData 存储。

任何帮助将不胜感激。

最佳答案

问题是共享名册模块没有在 ejabberd 配置文件中启用。你可以在你的ejabberd配置模块部分启用mod_shared_roster(知道怎么做的人会明白。我个人不知道!所以寻求公司其他人的帮助)。然后,共享名册选项将在 ejabberd 服务器管理端的 Web 界面中可用。

现在使用以下链接配置服务器以查看每个主体的所有用户: ejabbered configuration

现在,如果您已经登录并设置了自动同步 Roster(RobbieHanson Eg 的 XMMP 框架),您将获得列表中的所有用户。

关于xmpp - 如何在 XMPP ejabberd 服务器中使用 Rosters 访问所有用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25968208/

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