1

我是 ejabberd 的新手,但我注意到的第一件事是完全没有文档和代码注释。

我有很多疑问,但主要是:记录jid里面user和luser,server和lserver,...和...有什么区别?

-record(jid, {user, server, resource,
      luser, lserver, lresource}).

记录智商有什么用?

-record(iq, {id = "",
         type,
         xmlns = "",
         lang = "",
         sub_el}).

ejabber 中的订阅是什么?两个用户之间的关系?

名册内的jid是什么?

我知道这些问题也可能很愚蠢,但我真的不知道不问怎么理解,谢谢

4

1 回答 1

6

用户和 luser 有什么区别?

luser、lserver 和 lresource 是使用适当的 stringprep 配置文件处理后的 jid 的对应部分。请参阅https://www.rfc-editor.org/rfc/rfc3920#section-3。简而言之,在 ejabberd 中,您很可能总是使用处理后的版本,而只有在将 JID 序列化回网络时才使用原始版本。

记录智商有什么用?

它使得在 IQ 命名空间、id 或类型 (get|set|error) 上进行匹配比每次都从下级 xml 中检索该信息更容易。

ejabber 中的订阅是什么?两个用户之间的关系?

基本上,是的。用户 A 订阅用户 B 意味着 A 对 B 的存在感兴趣。但是订阅可以处于不同的状态(因为其他用户必须接受它,等等)。请参阅http://xmpp.org/rfcs/rfc3921.html#sub

名册内的jid是什么?

抱歉,没听懂你的意思,你想知道什么?

于 2012-09-30T17:03:57.137 回答