成功登录xmpp服务器后如何获取xmpp用户(iPhone SDK)?

Posted

技术标签:

【中文标题】成功登录xmpp服务器后如何获取xmpp用户(iPhone SDK)?【英文标题】:How to get xmpp user after login into xmpp server successfully (iPhone SDK)? 【发布时间】:2011-04-26 12:35:24 【问题描述】:

成功登录xmpp服务器(iPhone SDK)后如何获取XMPP用户信息?

登录成功后调用以下方法。

- (void)xmppStreamDidAuthenticate:(XMPPStream *)sender

【问题讨论】:

【参考方案1】:

假设您使用的是XMPPFrameowrk,那么您的XMPPStream 实例有一个myJID 属性,该属性在handleBinding 中被服务器分配给您的完整JID 覆盖。

【讨论】:

但我还需要用户状态信息,我该如何获取?现在我面临的问题是,登录应用程序后我无法获得状态消息(用户上次设置的)。但是,一旦我登录到应用程序,我就能够获得状态更新,但是在我退出并再次登录到应用程序后状态消息丢失。我想获取有关登录用户的 XMPPUserCoreDataStorage 和 XMPPResourceCoreDataStorage 对象。 服务器仅在您在线时存储您的状态。如果您想在离线时保留它,您的应用需要在本地存储该信息。 但是如果我将我的状态存储在本地并且如果我登录到另一个设备,在这种情况下我将无法获得我的状态 然后将其存储在 jabber:iq:private (XEP-0049: xmpp.org/extensions/xep-0049.html) 或 PEP (XEP-0163: xmpp.org/extensions/xep-0163.html) 中。 我曾尝试在 iphone sdk 中使用 xep - 00489 和 xep - 0163 但没有得到服务器的任何响应。

以上是关于成功登录xmpp服务器后如何获取xmpp用户(iPhone SDK)?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 simple-xmpp/node-xmpp 获得 Jabber 用户的名册?

使用 strophe 获取在线用户列表 xmpp [关闭]

如何使用 Facebook 登录 API 对 XMPP 用户进行身份验证?

检测用户登录/注销 xmpp google app engine

XMPP 注销(Smack API)

XMPP 用户存在本身