原始地址: 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. iOS中.pch文件怎样使用

    pch 能够用来存储共享信息,比方设备屏幕的宽度,高度.版本等等 公用信息 Xcode 老版本号会自己主动为我们创建pch文件,新版本号開始不自己主动创建了.假设须要使用能够自己手动创建 waterm ...

  2. HTTP要点概述:五,HTTP的无状态性,持久连接,Cookie

    一,HTTP的无状态性: HTTP 是一种不保存状态,无状态(stateless)协议.HTTP 协议自身不对请求和响应之间的通信状态进行保存.也就是说在 HTTP 这个级别,协议对于发送过的请求或响 ...

  3. ASP.NET和C#的区别/

    1..NET是一个平台,一个抽象的平台的概念. .NET平台其本身实现的方式其实还是库,抽象层面上来看是一个平台. 个人理解.NET核心就只是.NET Framework. .NET Framewor ...

  4. 【Silverlight】Bing Maps学习系列(五):绘制多边形(Polygon)图形(转)

    [Silverlight]Bing Maps学习系列(五):绘制多边形(Polygon)图形 Bing Maps Silverlight Control支持用户自定义绘制多边形(Polygon)图形, ...

  5. ORACLE获取某个时间段之间的月份列表和日期列表

    ORACLE获取某个时间段之间的月份列表获取某个时间段之间的月份列表(示例返回2009-03到2010-03之间的月份列表) SELECT TO_CHAR(ADD_MONTHS(TO_DATE('20 ...

  6. 04-Vue中的动画

    Vue中的动画 为什么要有动画:动画能够提高用户的体验,帮助用户更好的理解页面中的功能: -使用过渡类名 1.html <div id="app"> <input ...

  7. fprintf写入字符串入文件/fread读取文件内的字符串

    #include <stdio.h> #include <string.h> #include <stdlib.h> int main(void) { FILE * ...

  8. [Usaco2018 Feb]Snow Boots

    Description 到冬天了,这意味着下雪了!从农舍到牛棚的路上有N块地砖,方便起见编号为1-N,第i块地砖上积了fi英尺的雪.在Farmer John的农舍的地窖中,总共有B双靴子,编号为1-B ...

  9. 国际化------international

    1.配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=& ...

  10. 数据传递-------@ResponseBody

    1.导入jar包 jack-core-asl-1.9.11.jar jack-mapper-asl-1.9.11.jar 2.配置springmvc-servlet.xml文件 <?xml ve ...