Ejabberd结构和名册

时间:2012-09-30 10:30:26

标签: erlang xmpp ejabberd

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

我有很多疑问,但主要是: 在记录里面jid用户和luser,服务器和lserver之间有什么区别,......和......?

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

什么对记录iq有用?

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

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

名单里面的jid是什么?

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

1 个答案:

答案 0 :(得分:4)

  

user和luser有什么区别?

luser,lserver和lresource是使用适当的stringprep配置文件处理后的jid的相应部分。见http://tools.ietf.org/html/rfc3920#section-3。简而言之,在ejabberd内部,您很可能始终使用已处理的版本,而只有在将JID序列化回电线时才使用原始版本。

  

什么对记录iq有用?

它使得更容易匹配IQ命名空间,id或类型(get | set | error),而不是每次从underling xml检索该信息。

  

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

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

  

名单里面的jid是什么?

抱歉,你不明白,你想知道什么?