我正在尝试使用libstrophe库制作一个简单的Jabber客户端。
到目前为止一切都很顺利,除了一件事我需要澄清。
也就是说,我应该如何(持续(了解联系人的状态(即联机/脱机(,以便向程序的用户显示它?同样,我应该如何请求用户的名册?
我看过libstrophe提供的roster.c
示例,但它只打印出一次花名册。在实际的应用程序中,我需要不断地请求/更新它,以便在应用程序中显示用户添加的任何新联系人等。
所以基本上,我不清楚如何确保我总是在用户的联系人列表中显示最新的名单和最新的状态。
例如,我只是应该在某个预定义的时间间隔请求花名册吗?
花名册和出席是两个不同的主题。
当你登录时,你通常会请求你已经在做的花名册。当您的联系人列表在会话期间发生更改时,您会收到更新联系人的花名册推送。这是一节。如果另一个登录的客户操纵了我们的客户名册,那也没关系。
在线状态"presence of all your subscribed contact"包含小节。
您必须使用xmpp_handler_add为设置处理程序
- 在线状态,存在节
- 花名册推送,iq节与命名空间查询jabber:iq:花名册