我对 XMPP 很陌生,最近决定尝试在移动平台上制作 IM。关于 XMPP,我有几个问题,在最近的阅读之后我似乎无法找到答案(我正在考虑使用 ejabberd 或 Tigase 作为服务器,所以以下问题将假设服务器端是其中之一):
我在 XMPP 中读到过,将另一个用户添加到名册中是由客户端向服务器发送名册设置请求完成的,然后服务器将添加一个订阅状态为“来自”和“到”的名册项目到请求客户端和分别添加的客户端。如果要让花名册项目的订阅值变为“两者”,则被添加的用户需要接受发送的请求。这个对吗?
据我了解,一个用户在 XMPP 中通过 JID 识别并添加另一个用户,如果我把它放到 WhatsApp 的案例中,它就是用户的电话号码。这个对吗?
是否可以让服务器自定义客户端的名册?例如,服务器将处理所有使用 IM 的客户端,并根据某种逻辑返回一个名册,例如他们可能认识的人,而不仅仅是用户添加的联系人?为了更清楚地说明这一点,它就像你可能认识的 Facebook 的人。因此,在这种情况下,每次客户端登录并请求名册时,服务器都会返回用户可能会发现他们想与之交谈的人员列表。
从之前的理解来看,如果A发送了添加B的请求,B还没有接受,有没有可能一个用户A可以看到另一个用户B是否在线呢?在 B 接受请求之前向 B 发送任何消息怎么样?
谢谢你的帮助!