日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【iOS XMPP】使用XMPPFramewok(五):好友列表

發布時間:2024/9/30 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【iOS XMPP】使用XMPPFramewok(五):好友列表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

好友列表

?

好友列表,在 XMPP 中被稱為 roster,花名冊?

獲取 roster 需要客戶端發送 <iq /> 標簽向 XMPP 服務器端查詢

?

一個 IQ 請求:

<iq type="get"

  from="xiaoming@example.com"

  to="example.com"

  id="1234567">

  <query xmlns="jabber:iq:roster"/>

<iq />

type 屬性,說明了該 iq 的類型為 get,與 HTTP 類似,向服務器端請求信息

from 屬性,消息來源,這里是你的 JID

to 屬性,消息目標,這里是服務器域名

id 屬性,標記該請求 ID,當服務器處理完畢請求 get 類型的 iq 后,響應的 result 類型 iq 的 ID 與 請求 iq 的 ID 相同

<query xmlns="jabber:iq:roster"/> 子標簽,說明了客戶端需要查詢 roster

?

- (void)queryRoster {NSXMLElement *query = [NSXMLElement elementWithName:@"query" xmlns:@"jabber:iq:roster"];NSXMLElement *iq = [NSXMLElement elementWithName:@"iq"];XMPPJID *myJID = self.xmppStream.myJID;[iq addAttributeWithName:@"from" stringValue:myJID.description];[iq addAttributeWithName:@"to" stringValue:myJID.domain];[iq addAttributeWithName:@"id" stringValue:[self generateID]];[iq addAttributeWithName:@"type" stringValue:@"get"];[iq addChild:query];[self.xmppStream sendElement:iq]; }

?

一個 IQ 響應:

<iq type="result"

  id="1234567"

  to="xiaoming@example.com">

  <query xmlns="jabber:iq:roster">

    <item jid="xiaoyan@example.com" name="小燕" />

    <item jid="xiaoqiang@example.com" name="小強"/>

  <query />

<iq />

type 屬性,說明了該 iq 的類型為 result,查詢的結果

<query xmlns="jabber:iq:roster"/> 標簽的子標簽 <item />,為查詢的子項,即為 roster

item 標簽的屬性,包含好友的 JID,和其它可選的屬性,例如昵稱等。

?

通過實現

- (BOOL)xmppStream:(XMPPStream?*)sender didReceiveIQ:(XMPPIQ?*)iq;

方法

當接收到 <iq /> 標簽的內容時,XMPPFramework 框架回調該方法

- (BOOL)xmppStream:(XMPPStream *)sender didReceiveIQ:(XMPPIQ *)iq {if ([@"result" isEqualToString:iq.type]) {NSXMLElement *query = iq.childElement;if ([@"query" isEqualToString:query.name]) {NSArray *items = [query children];for (NSXMLElement *item in items) {NSString *jid = [item attributeStringValueForName:@"jid"];XMPPJID *xmppJID = [XMPPJID jidWithString:jid];[self.roster addObject:xmppJID];}}} }

總結

以上是生活随笔為你收集整理的【iOS XMPP】使用XMPPFramewok(五):好友列表的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲男人天堂视频 | 日本在线精品视频 | 欧美成人hd | 一本久道久久综合 | 国内视频自拍 | 午夜影院私人 | 亚洲人妖在线 | 熟妇的味道hd中文字幕 | 99精品久久 | 三度诱惑免费版电影在线观看 | 精品福利在线视频 | 欧美性猛片aaaaaaa做受 | 久久99精品国产.久久久久 | 欧美性猛交xxx乱大交3蜜桃 | 噜噜噜亚洲色成人网站 | 国产区久久 | 手机看片日韩福利 | 亚洲经典自拍 | 日本久热| 91麻豆国产精品 | 日韩骚片| 上原亚衣在线观看 | 黄色免费网站视频 | 国产视频一二三区 | 中文字幕人妻色偷偷久久 | 久久久久久久久综合 | 免费在线a| 国产伦精品一区二区三区四区免费 | 韩国久久久久久 | 精品国产九九九 | 精品中文字幕在线 | 久久国产精品首页 | 久久永久视频 | 在线播放一区 | 免费毛片播放 | 在线观看网站 | 蜜臀av夜夜澡人人爽人人 | 亚洲视频一区在线播放 | 性猛交娇小69hd | 日韩成人av网址 | 在线观看视频国产 | 成人免费片 | 黄a毛片| 亚洲天堂精品一区 | 青青国产精品视频 | 欧美日本国产 | 国产男女激情 | 黄色福利视频 | 91在线中文| 在线97| 亚洲精品国产精品乱码不99 | 牛牛av在线 | 日韩三级麻豆 | 日韩天堂| 麻豆69 | 熟妇人妻无码xxx视频 | 人妻一区在线 | 神马午夜影院 | 国产夫绿帽单男3p精品视频 | 欧美老熟妇一区二区 | 精品国产乱码久久久久久蜜柚 | 婷婷调教口舌奴ⅴk | 亚洲国产激情 | 欧美一级在线视频 | 免费黄色国产 | 欧美日韩综合一区二区三区 | 国产精品视频一二区 | 西西久久| 国产精品欧美一区二区三区 | 后入内射无码人妻一区 | 奇米影视久久 | 春色av| 影音先锋色小姐 | 青青草黄色 | 久夜精品 | 乱子伦视频在线看 | 亚洲美女福利视频 | 91插插视频 | 亚洲国产成人综合 | 亚洲三级在线 | 免费在线国产精品 | 国产视频在线观看视频 | 亚瑟av在线| 精品区一区二区 | 久久精品波多野结衣 | 久久激情综合 | 色呦呦网站在线观看 | 亚洲精品久久久中文字幕 | 五月色丁香 | 白浆在线 | 久久综合色网 | 亚洲视频一区在线 | 精品免费国产一区二区三区四区 | 神马午夜一区 | 日本亲子乱子伦xxxx | 欧美成人精品一区二区男人看 | 欧美第四页 | 亚洲一区毛片 | 亚洲精品免费电影 |