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;

    }

  • 相关阅读:
    深入理解 IE haslayout
    electron的应用
    自动化批量录入Web系统
    Flask + Vue的一个示例
    如何从git仓库里下载单个文件夹
    Django项目设置首页
    简单更改Django Admin登录页面
    Flask web项目使用.flaskenv文件
    Flask 里url_for的使用
    使用Flask-migrate迁移数据库
  • 原文地址:https://www.cnblogs.com/guligei/p/3513954.html
Copyright © 2011-2022 走看看