匿名用户如何在 Jabber (Ejabberd) 上与有效用户交换存在信息

Posted

技术标签:

【中文标题】匿名用户如何在 Jabber (Ejabberd) 上与有效用户交换存在信息【英文标题】:How can anonymous users exchange presence information with valid users on Jabber (Ejabberd) 【发布时间】:2009-12-24 15:44:49 【问题描述】:

我正在开发一个社交网络,它应该允许成员与网站上的访问者聊天。这个概念很简单。

    已注册注册的用户拥有自己的花名册帐户 当访问者来到社交网络的主页时,他可以看到社区的一些在线成员 现在他应该可以通过点击他们的名字与他们开始聊天了。

我已经让成员与他们的花名册伙伴聊天。我的问题是,如何让匿名用户与会员聊天并与他交换在线信息?

我已经成功地创建了匿名帐户、会员帐户,甚至将匿名用户的消息发送给其他会员。但我无法从匿名用户到成员或反之亦然获取状态信息?

顺便说一句,聊天是基于 JS 的。

【问题讨论】:

【参考方案1】:

您正试图打破 XMPP 模型。 Presence 是一个基于选择加入权限的系统。你问我能不能看到我的存在,我说能。通常,我的客户会自动询问我是否可以看到您的存在,您的客户会说是。这就是名册的内容——对出席订阅请求的肯定和否定。

可以创建匿名聊天室(MUC,多用户聊天),并在其中进行展示。不过,这不是名单。这是最接近您所描述的内容,而无需使用 pubsub 进入疯狂领域,而且我不知道您是否可以将该工具弯曲到足以拥有匿名名册条目的程度。

【讨论】:

嗨,AR。经过一番研究,在我看来,MUC 是唯一明智的选择。 Whats 'pusub',我在哪里可以找到更多关于它的信息?谢谢您的回复。 Pubsub 是“发布-订阅”的缩写。你用它来做一些事情,比如向人们提供数据(地理位置、音乐播放)并且他们订阅它。 XEP(XMPP 增强提案)位于xmpp.org/extensions/xep-0060.html。在某些领域,发布订阅服务器是 PASS 服务器——发布和订阅服务器,但这已经脱离了主题。嗯,我可能一直在考虑隐私列表,而不是 pubsub。价格列表的 XEP 位于xmpp.org/extensions/xep-0060.html。例如,您可以使用隐私列表对某些用户“不可见”。 嗨,A.R.我查看了 pubsub,它比我有时间(1 月 10 日!)多一点。我想我会选择 MUC 和私人房间来满足我的要求。你有什么建议可以帮助我更快地做到这一点。我应该注意什么问题?谢谢,我会勾选你的答案。 不,没有其他可寻找的。 Pubsub 是一个很大的 XEP,我不知道它是否适合你。我也不知道 MUC 是否会,但这是最接近您要求的东西。

以上是关于匿名用户如何在 Jabber (Ejabberd) 上与有效用户交换存在信息的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Ejabberd 中创建非匿名房间 [关闭]

允许 ejabberd_service(Jabber 组件协议)修改用户名册

如何在 XMPP/Jabber 中重新连接匿名用户

无法让 jabber 客户端连接到在 localhost 上运行的 ejabberd

如何了解更多 XMPP/Jabber 命令

如何使用 C# 在 XMPP 服务器中使用 jabber net 创建新用户?