0

我用 Prosody 运行 XMPP 服务器。如果某些用户与两个客户端(例如 Conversations 和 Gajim)连接并加入多用户聊天,则会出现两次。这真的很烦人,例如,根据您提到的用户名,通知只会出现在他们的桌面或移动设备上。

我无法重现这种行为。即使我使用两台设备加入聊天,我也只会显示为一个人。我认为这是正确的行为。我能做些什么来防止人们多次出现吗?

4

1 回答 1

2

Prosody 中的“多会话昵称”功能的工作原理是,如果使用相同 XMPP 帐户(裸 JID)的多个设备(XMPP 资源)尝试在房间中使用相同的昵称,则会发生合并(即,该昵称由多个帐户会话)。我是 Prosody 的作者之一,也是此功能的作者。

您所描述的问题是因为这些用户的多个设备没有使用相同的昵称(正如 Sam Whited 的评论所暗示的那样),或者他们使用的是单独的 XMPP 帐户。昵称在一个房间里总是唯一的,同一个名字不可能出现两次。

昵称区分大小写(“用户”与“用户”不同),具有完全相同昵称的用户出现两次的可能性仍然很小(例如,他们可能在昵称末尾添加了一个空格,或者他们可能使用看起来非常相似但不同的 unicode 字符)。

最简单的解决方案是要求这些用户将他们的昵称更改为相同。另一种解决方案是编写 Prosody 插件来强制执行昵称策略(假设您是服务器管理员)。

于 2016-12-11T01:01:46.027 回答