zoukankan      html  css  js  c++  java
  • xmpp开发教程(五)-收发消息

    这里主要是指用户的状态更新,收到消息,发送消息。

    首先给出核心代码

    用户上下线的通知

     1 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     2 #pragma mark ReceivePresence
     3 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     4 
     5 - (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence {
     6     NSString *presenceType = [presence type];
     7     NSString *presenceFromUser = [[presence from] user];
     8     NSLog(@"presenceFromUser:%@",presenceFromUser);
     9     NSLog(@"presenceType:%@",presenceType);
    10     if (![presenceFromUser isEqualToString:[[sender myJID] user]]) {
    11         if ([presenceType isEqualToString:@"available"]) {
    12             //
    13         } else if ([presenceType isEqualToString:@"unavailable"]) {
    14             //
    15         }
    16     }
    17 }

    接收消息

     1 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     2 #pragma mark ReceiveMessage
     3 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     4 
     5 - (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message {
     6     NSString *messageBody = [[message elementForName:@"body"] stringValue];
     7     NSLog(@"body:%@",messageBody);
     8     NSString *replyMessage=[NSString stringWithFormat:@"replay%@",messageBody];
     9     if(![messageBody isEqual:NULL])
    10        [self sendMessage:replyMessage toUser:@"fengyun"];
    11 }

    发送消息

     1 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     2 #pragma mark sendMessage
     3 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     4 
     5 - (void)sendMessage:(NSString *) message toUser:(NSString *) user {
     6     NSXMLElement *body = [NSXMLElement elementWithName:@"body"];
     7     [body setStringValue:message];
     8     NSXMLElement *message1 = [NSXMLElement elementWithName:@"message"];
     9     [message1 addAttributeWithName:@"type" stringValue:@"chat"];
    10     NSString *to = [NSString stringWithFormat:@"%@@helloworldtekimac-mini.local", user];
    11     [message1 addAttributeWithName:@"to" stringValue:to];
    12     [message1 addChild:body];
    13     [self.xmppStream sendElement:message1];
    14 }
  • 相关阅读:
    jquery新知识
    jquery回顾
    Filter和Listener
    jsp,jstl,el
    cookie和session
    servlet和HTTP原理
    xml基本知识
    linux 相关操作
    linux mysql 相关操作、问题
    linux 文件结构
  • 原文地址:https://www.cnblogs.com/guchengfengyun/p/4049078.html
Copyright © 2011-2022 走看看