XMPPFrameWork IOS 开发(七)消息回执

发送消息时附加回执请求

[cpp]  view plain  copy
 print ?
  1. <message  
  2.     from='northumberland@shakespeare.lit/westminster'  
  3.     id='richard2-4.1.247'  
  4.     to='kingrichard@royalty.england.lit/throne'>  
  5.   <body>My lord, dispatch; read o'er these articles.</body>  
  6.   <request xmlns='urn:xmpp:receipts'/>  
  7. </message>  

代码实现

[cpp]  view plain  copy
 print ?
  1. NSString *siID = [XMPPStream generateUUID];  
  2. //发送消息  
  3. XMPPMessage *message = [XMPPMessage messageWithType:@"chat" to:jid elementID:siID];  
  4. NSXMLElement *receipt = [NSXMLElement elementWithName:@"request" xmlns:@"urn:xmpp:receipts"];  
  5. [message addChild:receipt];  
  6. [message addBody:@"测试"];  
  7. [self.xmppStream sendElement:message];  


收到回执请求的消息,发送回执

[cpp]  view plain  copy
 print ?
  1. <message  
  2.     from='kingrichard@royalty.england.lit/throne'  
  3.     id='bi29sg183b4v'  
  4.     to='northumberland@shakespeare.lit/westminster'>  
  5.   <received xmlns='urn:xmpp:receipts' id='richard2-4.1.247'/>  
  6. </message>  

代码实现

[cpp]  view plain  copy
 print ?
  1. - (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message  
  2. {     
  3.     //回执判断  
  4.     NSXMLElement *request = [message elementForName:@"request"];  
  5.     if (request)  
  6.     {  
  7.         if ([request.xmlns isEqualToString:@"urn:xmpp:receipts"])//消息回执  
  8.         {  
  9.             //组装消息回执  
  10.             XMPPMessage *msg = [XMPPMessage messageWithType:[message attributeStringValueForName:@"type"] to:message.from elementID:[message attributeStringValueForName:@"id"]];  
  11.             NSXMLElement *recieved = [NSXMLElement elementWithName:@"received" xmlns:@"urn:xmpp:receipts"];  
  12.             [msg addChild:recieved];  
  13.               
  14.             //发送回执  
  15.             [self.xmppStream sendElement:msg];  
  16.         }  
  17.     }else  
  18.     {  
  19.         NSXMLElement *received = [message elementForName:@"received"];  
  20.         if (received)  
  21.         {  
  22.             if ([received.xmlns isEqualToString:@"urn:xmpp:receipts"])//消息回执  
  23.             {  
  24.                 //发送成功  
  25.                 NSLog(@"message send success!");  
  26.             }  
  27.         }  
  28.     }  
  29.       
  30.     //消息处理  
  31.     //...  
  32. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值