原始地址: XMPPFrameWork IOS 开发(五)获取好友信息和添加删除好友

好友列表和好友名片

  1. [_xmppRoster fetchRoster];//获取好友列表
  2. //获取到一个好友节点
  3. - (void)xmppRoster:(XMPPRoster *)sender didRecieveRosterItem:(NSXMLElement *)item
  4. //获取完好友列表
  5. - (void)xmppRosterDidEndPopulating:(XMPPRoster *)sender
  6. //到服务器上请求联系人名片信息
  7. - (void)fetchvCardTempForJID:(XMPPJID *)jid;
  8. //请求联系人的名片,如果数据库有就不请求,没有就发送名片请求
  9. - (void)fetchvCardTempForJID:(XMPPJID *)jid ignoreStorage:(BOOL)ignoreStorage;
  10. //获取联系人的名片,如果数据库有就返回,没有返回空,并到服务器上抓取
  11. - (XMPPvCardTemp *)vCardTempForJID:(XMPPJID *)jid shouldFetch:(BOOL)shouldFetch;
  12. //更新自己的名片信息
  13. - (void)updateMyvCardTemp:(XMPPvCardTemp *)vCardTemp;
  14. //获取到一盒联系人的名片信息的回调
  15. - (void)xmppvCardTempModule:(XMPPvCardTempModule *)vCardTempModule
  16. didReceivevCardTemp:(XMPPvCardTemp *)vCardTemp
  17. forJID:(XMPPJID *)jid

添加好友

  1. //name为用户账号
  2. - (void)XMPPAddFriendSubscribe:(NSString *)name
  3. {
  4. //XMPPHOST 就是服务器名,  主机名
  5. XMPPJID *jid = [XMPPJID jidWithString:[NSString stringWithFormat:@"%@@%@",name,XMPPHOST]];
  6. //[presence addAttributeWithName:@"subscription" stringValue:@"好友"];
  7. [xmppRoster subscribePresenceToUser:jid];
  8. }
  1. //收到添加好友的请求
  2. - (void)xmppRoster:(XMPPRoster *)sender didReceivePresenceSubscriptionRequest:(XMPPPresence *)presence
  3. {
  4. //取得好友状态
  5. NSString *presenceType = [NSString stringWithFormat:@"%@", [presence type]]; //online/offline
  6. //请求的用户
  7. NSString *presenceFromUser =[NSString stringWithFormat:@"%@", [[presence from] user]];
  8. NSLog(@"presenceType:%@",presenceType);
  9. NSLog(@"presence2:%@  sender2:%@",presence,sender);
  10. XMPPJID *jid = [XMPPJID jidWithString:presenceFromUser];
  11. //接收添加好友请求
  12. [xmppRoster acceptPresenceSubscriptionRequestFrom:jid andAddToRoster:YES];
  13. }

删除好友

    1. //删除好友,name为好友账号
    2. - (void)removeBuddy:(NSString *)name
    3. {
    4. XMPPJID *jid = [XMPPJID jidWithString:[NSString stringWithFormat:@"%@@%@",name,XMPPHOST]];
    5. [self xmppRoster] removeUser:jid];
    6. }

xmpp获取好友信息和添加删除好友(4)的更多相关文章

  1. QQ空间爬虫--获取好友信息

    QQ空间网页版:https://user.qzone.qq.com/ 登陆后,进入设置,有一个权限设置,设置“谁能看我的空间”为好友可见,然后构造爬虫. (1)获取Cookie 两种方式: 第一种:通 ...

  2. Python 实现获取微信好友信息

    最近用闲余时间看了点python,在网上冲浪时发现有不少获取微信好友信息的博客,对此比较感兴趣,于是自己敲了敲顺便记录下来. 一.使用 wxpy 模块库获取好友男比例信息和城市分布. # -*- co ...

  3. Python使用itchat获取微信好友信息~

    最近发现了一个好玩的包itchat,通过调用微信网页版的接口实现收发消息,获取好友信息等一些功能,各位可以移步itchat项目介绍查看详细信息. 目标: 获取好友列表 统计性别及城市分布 根据好友签名 ...

  4. python itchat 爬取微信好友信息

    原文链接:https://mp.weixin.qq.com/s/4EXgR4GkriTnAzVxluJxmg 「itchat」一个开源的微信个人接口,今天我们就用itchat爬取微信好友信息,无图言虚 ...

  5. XMPP系列(三)---获取好友列表、添加好友

    1.心跳检测.掉线重连功能 客户端和服务器端都可以设置多久发送一次心跳包,如果对方没有返回正确的pong信息,则会断开连接,而添加掉线重连功能,则会自动进行连接. 如果自己写聊天功能还得自己做心跳检测 ...

  6. XMPP添加删除好友

    在现阶段的通信服务中.各种标准都有,因此会出现无法实现相互连通,而XMPP(Extensible Message and presence Protocol)协议的出现,实现了整个及时通信服务协议的互 ...

  7. XMPP系列(三)---获取好友列表、加入好友

    1.心跳检測.掉线重连功能 client和server端都能够设置多久发送一次心跳包,假设对方没有返回正确的pong信息,则会断开连接,而加入掉线重连功能,则会自己主动进行连接. 假设自己写聊天功能还 ...

  8. XMPP框架下微信项目总结(5)花名册获取(好友列表)

    ---->概念 ---->添加花名册 ps:添加花名册,启动: 客户端发送请求到服务器获取好友列表信息,同时在项目中创建数据表,并保存好友列表到数据表中. ---->获取服务器保存好 ...

  9. 第四讲 smart qq 获取联系人信息 ,分组 好友 群聊

    首先从post一下  http://s.web2.qq.com/api/get_user_friends2 这个链接获取分组categories ,好友信息 friends,info. string ...

随机推荐

  1. SpringMVC_1

    //@SessionAttributes(value={"user"},types={String.class}) @Controller public class SpringM ...

  2. 常用经典SQL语句大全完整版--详解+实例 《来自网络,很全没整理,寄存与此》

    常用经典SQL语句大全完整版--详解+实例 下列语句部分是Mssql语句,不可以在access中使用. SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML ...

  3. ZOJ 1414:Number Steps

    Number Steps Time Limit: 2 Seconds      Memory Limit: 65536 KB Starting from point (0,0) on a plane, ...

  4. swoole简易实时聊天

    最近公司拓展业务,需要做一个即时聊天业务,就顺带研究了一下swoole,文档地址贴出来:https://wiki.swoole.com/ 文档写得很详细,demo也很简洁明了,所以废话就不多说了. 工 ...

  5. bzoj 4337 树的同构

    4337: BJOI2015 树的同构 Description 树是一种很常见的数据结构. 我们把N个点,N-1条边的连通无向图称为树. 若将某个点作为根,从根开始遍历,则其它的点都有一个前驱,这个树 ...

  6. go语言---传值和传引用

    go语言---传值和传引用 https://blog.csdn.net/cyk2396/article/details/78893828 1.定义: b = a; b.modify(); 如果b的修改 ...

  7. 安装Git(转载)

    转自:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137396287703 ...

  8. argis地图

  9. VBScript+SCR+NetApi+Accoreconsole 批处理dwg文件

    继上次powershell运行accoreconsole(https://www.cnblogs.com/NanShengBlogs/p/10981687.html)的研究之后又觉得不是很合适,毕竟p ...

  10. 洛谷 P3378 【模板】堆(小根堆)

    题目描述 如题,初始小根堆为空,我们需要支持以下3种操作: 操作1: 1 x 表示将x插入到堆中 操作2: 2 输出该小根堆内的最小数 操作3: 3 删除该小根堆内的最小数 输入输出格式 输入格式: ...