博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
这些代码都是 吃屁的,
阅读量:6153 次
发布时间:2019-06-21

本文共 1084 字,大约阅读时间需要 3 分钟。

   XMPPElementReceipt *receipt = [XMPPElementReceiptnew];

//    * - Do an instantaneous check (pass timeout == 0)

//    * - Wait until the element has been sent (pass timeout < 0)

//    * - Wait up to a certain amount of time (pass timeout > 0)

    [mStream sendElement:message andGetReceipt:&receipt];

    [receipt wait:-1];

 

//    * If you later want to check to see if the element has been sent:

//        *

//        * if ([receipt wait:0]) {

//            *   // Element has been sent

//            * }

//    *

//    * If you later want to wait until the element has been sent:

//    *

//    * if ([receipt wait:-1]) {

//        *   // Element was sent

//        * } else {

//            *   // Element failed to send due to disconnection

//            * }

    if ([receipt wait:-1])

    {

        TTLog(@"was sent");

    }

    else{

        TTLog(@"sent faild");

    }

 1,receipt wait = 0,即时检查,不过要 结合timer,不然的话,马上检查一定发送失败的,

2,receipt wait > 0,等上几分钟检查,如果是 放到主线程,会卡几分钟的,如果改成异步的是没有问题的,不过,即便是异步,设置等待的时间太短,即便发送成功了,也会返回no 的

 BOOL messageState =[receipt wait:0.0000001];

    if (messageState)

    {

        TTLog(@"was sent");

    }

    else{

        TTLog(@"sent faild");

    }

3,receipt wait < 0,等待发送完检查,同样的放到主线程,会卡的,同上,

转载于:https://www.cnblogs.com/guligei/p/3513908.html

你可能感兴趣的文章
【bzoj 2339】[HNOI2011]卡农(数论--排列组合+逆元+递推)
查看>>
MD5加密方法-MVC
查看>>
Matlab绘图(一二三维)
查看>>
容易被遗忘的十种健康食物
查看>>
Thinking in life(1)
查看>>
小白书 黑白图像【DFS/Flood Fill】
查看>>
git学习笔记(一)——从已存在的远程仓库克隆
查看>>
uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型?
查看>>
ACM算法目录
查看>>
数据结构与算法(6)二叉树遍历
查看>>
最近学习了一个手机影音
查看>>
点亮第一个LED灯
查看>>
Quart2D续
查看>>
sort()
查看>>
Google Protocol Buffer 的使用和原理
查看>>
php的cookie配置和session使用
查看>>
分治法——循环左移
查看>>
遍历datatable的方法
查看>>
离散数学:每条边的权重均不相同的带权图有唯一最小生成树
查看>>
玩转 SSH(六):SpringMVC + MyBatis 架构搭建(注解版)
查看>>