【iOS XMPP】使用XMPPFramewok(四):收发消息

转自:http://www.cnblogs.com/dyingbleed/archive/2013/05/16/3075105.html

收发消息

 

接收消息

通过实现 

- (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message;

方法

当接收到 <message /> 标签的内容时,XMPPFramework 框架回调该方法

根据 XMPP 协议,消息体的内容存储在标签 <body /> 内

- (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message {
    NSString *messageBody = [[message elementForName:@"body"] stringValue];
}

 

发送消息

发送消息,我们需要根据 XMPP 协议,将数据放到 <message /> 标签内,例如:

<message type="chat" to="xiaoming@example.com">

  <body>Hello World!<body />

<message />

复制代码
- (void)sendMessage:(NSString *) message toUser:(NSString *) user {
    NSXMLElement *body = [NSXMLElement elementWithName:@"body"];
    [body setStringValue:message];
    NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
    [message addAttributeWithName:@"type" stringValue:@"chat"];
    NSString *to = [NSString stringWithFormat:@"%@@example.com", user];
    [message addAttributeWithName:@"to" stringValue:to];
    [message addChild:body];
    [self.xmppStream sendElement:message];
}
复制代码

 

 

Android 开发讨论群:84778336 
iOS 开发讨论群:82873648 

知识共享许可协议
本作品采用知识共享署名-非商业性使用 3.0 许可协议进行许可。
转载请署名李震(博客地址:http://www.cnblogs.com/dyingbleed/),且不得用于商业目的。

posted on 2014-11-27 16:03  王培  阅读(287)  评论(0编辑  收藏  举报

导航