MUC服务中的XMPP保留昵称

MUC服务中的XMPP保留昵称,xmpp,ejabberd,muc,mongoose-im,Xmpp,Ejabberd,Muc,Mongoose Im,我目前正在为移动平台实现一个MUC(仅限会员)应用程序。我能够让MUC工作,移动客户端能够相互通信 我试图解决的问题是,我希望用户在MUC服务中保留一个在所有房间都有效的昵称,这样就没有人可以在聊天中伪装他。我已经读了很多书,但还没有找到任何关于用户可以在所有房间中保留昵称的适当例子 如果您能帮我找到正确的文档,我们将不胜感激 谢谢, Mithun如中所述,ejabberd MUC服务允许在MUC服务级别为用户注册昵称: MUC服务允许任何Jabber ID注册一个昵称,因此没有人可以注册 其他

我目前正在为移动平台实现一个MUC(仅限会员)应用程序。我能够让MUC工作,移动客户端能够相互通信

我试图解决的问题是,我希望用户在MUC服务中保留一个在所有房间都有效的昵称,这样就没有人可以在聊天中伪装他。我已经读了很多书,但还没有找到任何关于用户可以在所有房间中保留昵称的适当例子

如果您能帮我找到正确的文档,我们将不胜感激

谢谢, Mithun

如中所述,ejabberd MUC服务允许在MUC服务级别为用户注册昵称:

MUC服务允许任何Jabber ID注册一个昵称,因此没有人可以注册 其他人可以在MUC服务的任何房间使用这个昵称。登记 昵称,在XMPP客户端中打开服务发现,然后 在MUC服务中注册

您可以通过支持服务发现(如Psi)的客户机轻松实现这一点

在XMPP级别,它转换为以下XMPP数据包交换。发现步骤是可选的

  • 您可以在MUC服务上发送发现数据包以检查功能:
  • 发送:
    
  • 您将收到MUC服务功能列表,包括
    注册表
  • RECV:
    ...
    ...
    
    这意味着您可以启动尼克注册流程:

  • 您可以从MUC服务检索尼克登记表:
  • 发送:
    
  • MUC服务以表单回复,包含单个字段(您要注册的昵称):
  • RECV:
    您需要一个支持x:data的客户端来注册昵称
    在conference.localhost上注册昵称
    输入要注册的昵称
    
  • 您可以提交带有所需昵称的表格:
  • 发送:
    米克尔
    
  • MUC服务答复成功或错误。成功案例中的示例:
  • RECV:
    
    任何XMPP扩展都没有定义此类功能。此外,在MongooseIM中,如果不修改服务器源代码,这是不可能的,我几乎可以肯定ejabberd也不可能。免责声明:我是MongooseIM开发者。您好@erszcz,据一段话说,“MUC服务允许任何Jabber ID注册昵称,因此其他人不能在MUC服务的任何房间使用该昵称。要注册昵称,请在您的XMPP客户端中打开服务发现并在MUC服务中注册。”,你可以看到有人评论说我们在MUC服务中注册了一个缺口。但是没有给出一个例子。如果不是在所有房间都预留一个缺口,是否可以在特定房间预留缺口??如果我能做到这一点,我至少可以防止在那个房间里伪装。。谢谢