zoukankan      html  css  js  c++  java
  • 消息发送,

    第一次见 回调过程发生在 两行代码之间,而不是两个分离的方法,

    //发送信息

    -(XMPPMessage *)sendMessage:(NSString *)mess andJID:(XMPPJID *)jid

    {

        

        NSXMLElement *body = [NSXMLElementelementWithName:@"body"];

        [body setStringValue:mess];

        XMPPMessage *message = [XMPPMessageelementWithName:@"message"];

        [message addAttributeWithName:@"type"stringValue:@"chat"];

        [message addAttributeWithName:@"to"stringValue:[jid full]];

        [message addAttributeWithName:@"from"stringValue:@"wangyanan@127.0.0.1"];

        

        NSXMLElement * receiptRequest = [NSXMLElement elementWithName:@"request"];

        [receiptRequest addAttributeWithName:@"xmlns"stringValue:@"urn:xmpp:receipts"];

        int timeStamp = (int)[[NSDate date] timeIntervalSince1970];

        NSString * messageID = [NSString stringWithFormat:@"%@%d%@",[[message attributeForName:@"from"]stringValue],timeStamp,[[message attributeForName:@"to"]stringValue]];

        [message addAttributeWithName:@"id"stringValue:messageID];

        [message addChild:receiptRequest];

        [message addChild:body];

        TTLog(@"xmppmessage :%@",message);

        

        XMPPElementReceipt *receipt = [XMPPElementReceiptnew];

        [mStream sendElement:message andGetReceipt:&receipt];

        BOOL messageState =[receipt wait:-1];

        if (messageState)

        {

            TTLog(@"was sent");

        }

        else{

            TTLog(@"sent faild");

        }

        return message;

    }

  • 相关阅读:
    Linux文件系统之目录清单
    Linux系统使用iftop查看带宽占用情况
    性能分析之TCP全连接队列占满问题分析及优化过程(转载)
    什么是枚举及枚举的使用场合
    height:100%和height:auto的区别
    Jquery基础之DOM操作
    SSM三大框架整合(Spring+SpringMVC+MyBatis)
    js解析JSON
    mybatis中oracle实现分页效果
    MyBatis动态SQL语句
  • 原文地址:https://www.cnblogs.com/guligei/p/3513954.html
Copyright © 2011-2022 走看看