XMPPFramework - 如何获取在线和离线好友列表?

Posted

技术标签:

【中文标题】XMPPFramework - 如何获取在线和离线好友列表?【英文标题】:XMPPFramework - How can I get a list of online and offline friends? 【发布时间】:2014-07-02 03:43:47 【问题描述】:

如何在 ios 中使用 XMPPFramework 获取在线和离线好友列表?

我想向用户发送好友请求。那么我该如何实现呢?有人可以为我分享一些示例代码吗?

谢谢。

【问题讨论】:

你的要求是,你想分别显示所有离线和在线用户,如果有人上线/离线,需要反映.r8? 如果你想要答案,请告诉我详情。 是的,我想要那种东西…… 检索列表的示例代码可以在 XMPPFramework 的示例 iPhone 应用程序中找到:XMPPFramework / Xcode / iPhoneXMPP / Classes / RootViewController.m @Vats 给你:Robbiehanson / XMPPFramework / Xcode / Examples / iPhoneXMPP / Classes / RootViewController.m 【参考方案1】:

通过使用这些方法,您将收到整个用户在线/离线、添加、删除、更新等的通知。通过使用这些方法,您可以更新您的联系人列表

- (void)xmppRoster:(XMPPRosterMemoryStorage *)sender didAddUser:(XMPPUserMemoryStorageObject *)user

- (void)xmppRoster:(XMPPRosterMemoryStorage *)sender didUpdateUser:(XMPPUserMemoryStorageObject *)user

- (void)xmppRoster:(XMPPRosterMemoryStorage *)sender didRemoveUser:(XMPPUserMemoryStorageObject *)user

- (void)xmppRoster:(XMPPRosterMemoryStorage *)sender
    didAddResource:(XMPPResourceMemoryStorageObject *)resource
          withUser:(XMPPUserMemoryStorageObject *)user

- (void)xmppRoster:(XMPPRosterMemoryStorage *)sender
 didUpdateResource:(XMPPResourceMemoryStorageObject *)resource
          withUser:(XMPPUserMemoryStorageObject *)user

- (void)xmppRoster:(XMPPRosterMemoryStorage *)sender
 didRemoveResource:(XMPPResourceMemoryStorageObject *)resource
          withUser:(XMPPUserMemoryStorageObject *)user

// 添加好友

- (void)addContactWithUserName:(NSString *)userName andNickName:(NSString *)nickName;

    if(userName)
    
        XMPPJID *jid = [XMPPJID jidWithString:[NSString stringWithFormat:@"%@@%@",userName,self.hostName]];
        if(nickName)
        
            [_xmppRoster addUser:jid withNickname:nickName];
        
        else
        
            [_xmppRoster addUser:jid withNickname:nil];
        
    
else

    NSLog(@"missing userName");


【讨论】:

感谢重播...但是,从您列出的哪个方法,我必须调用 addcontactwithusername 方法 你能详细解释一下吗 我在谷歌上搜索过,我们必须调用 didReceivePresence 方法来获取我们朋友的存在。是真的吗? 我们可以通过多种方式实现 XMPP。我认为这也是正确的 这意味着我必须从 didReceivePresence 调用 addContactWithUserName 方法。是吗?

以上是关于XMPPFramework - 如何获取在线和离线好友列表?的主要内容,如果未能解决你的问题,请参考以下文章

如何在线保存/加载数据(使用 AJAX 和 JSON 存储数据)和离线(本地)

如何实现游戏中的在线计时器和离线计时器

如何将 PHP 项目设置为 Webhosting 和 Localhost 以同时在线和离线工作

如何在android应用程序中以在线和离线模式加载或检索网页?

维护网站的在线 (Azure) 和离线版本

Chrome 在线和离线渲染 CSS 的方式不同?