cchttpclient中停止网络请求的方法

cchttpclient是异步网络连接,在网速慢的时候,应用退出了该页面,未执行的网络请求还是按照队列请求下去,这导致重新进入页面时候,新的网络请求的得不到快速响应。而cchttpclient类中并没有提供移除请求的方法,查看源码,发现所有的请求都放在s_requestQueue数组中,那么要做的就是在退出界面时候,清空这个请求队列。如下是在httpclient.cpp中添加的禁止所有请求的方法:

void CCHttpClient::stopAllResquest()
{
CCHttpRequest *request = NULL;

while (0 < s_requestQueue->count())
{
  pthread_mutex_lock(&s_requestQueueMutex); //Get request task from queue
  if (0 != s_requestQueue->count())
  {
    request = dynamic_cast<CCHttpRequest*>(s_requestQueue->objectAtIndex(0));
    s_requestQueue->removeObjectAtIndex(0);
    // request‘s refcount = 1 here
  }
  pthread_mutex_unlock(&s_requestQueueMutex);

  if (NULL != request)
  {
  request->release();
  }
}

}

时间: 2024-08-01 14:12:46

cchttpclient中停止网络请求的方法的相关文章

iOS开发中的网络请求

今天来说说关于iOS开发过程中的网络请求. 关于网络请求的重要性我想不用多说了吧.对于移动客户端来说,网络的重要性不言而喻.常见的网络请求有同步GET, 同步POST, 异步GET, 异步POST.今天来看一下四种网络请求的实现方式. 一.同步GET // 1.将网址初始化成一个OC字符串对象 NSString *urlStr = [NSString stringWithFormat:@"%@?query=%@&region=%@&output=json&ak=6E823

React Native中的网络请求

React Native中的网络请求fetch使用方法最为简单,但却可以实现大多数的网络请求,需要了解更多的可以访问: https://segmentfault.com/a/1190000003810652 /** * Sample React Native App * https://github.com/facebook/react-native * 周少停 2016-09-28 * fetch请求数据 header 参数 response转json 请求方式 */ import React

swift中第三方网络请求库Alamofire的安装与使用

swift中第三方网络请求库Alamofire的安装与使用 Alamofire是swift中一个比较流行的网络请求库:https://github.com/Alamofire/Alamofire.下面我们就介绍一个这个库的安装与使用. 一.安装包管理工具CocoaPods 由于国内容易被墙,速度也非常的慢,这里我们使用提供的源 http://ruby.taobao.org/ gem sources --remove https://rubygems.org/ gem sources –a htt

ios中封装网络请求类

ios中封装网络请求类 #import "JSNetWork.h" //asiHttpRequest #import "ASIFormDataRequest.h" //xml 的解析 #import "UseXmlParser.h" //判断是否联网 #import "Reachability.h" //sbJson,判断json的解析 #import "JSON.h" @implementation JS

Java中停止线程执行的方法

Java中停止线程执行的方法 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.暂停或停止线程的理论 在Java编程中,要暂停或停止当前正在运行的线程,有几种方法.对于把线程转入睡眠Sleep状态,使用Thread.sleep()是最正确的方式.或许有人会问,为什么不使用等待wait()或通知notify()?要知道,使用等待或通知都不是很好的方式. 线程可以使用等待wait()实现被阻塞,这属于条件等待的方式,当条件满足后,又会从阻塞转为等待状态

IOS中的网络请求

使用NSURLConnection的网络请求,最好定义一个类方法,在主线程中直接调用类方法获取请求到的网络数据 //构建类方法--请求网络 + (void)requestData:(NSString *)urlStr httpMethod:(NSString *)method params:(NSMutableDictionary *)params comletionHandle:(void (^)(id result))block { //1.构建URL urlStr = [BASE_URL

Android中解析网络请求的URL

最近正在做Android网络应用的开发,使用了android网络请求方面的知识,现在向大家介绍网络请求方面的知识,我们知道android中向服务器端发送一个请求,(这就是我们通常所说的POST请求),我们要发送一个完整的URL,然后服务器端接收到这个URL,对这个URL进行特定的解析,就是对URL进行解析,转化为JSON数据,然后,我们只要处理这个JSON数据就可以了. 我现在就用我的项目实例来体现解析URL的过程: 1.组装URL的过程: private String getOrderPayU

关于Xcode 7中 HTTP网络请求失败的解决办法

最近在用NSURLSession请求网络数据时,会出现如下错误, 查询后得知iOS9之后,新特性App Transport Security (ATS)要求App内访问的网络必须使用HTTPS协议,解决方法如下:

linux中查看网络流量的方法

linux查看网络流量 用iptraf查看流量信息命令如下: shell〉 iptraf -d eth0 #若没有iptraf 命令则安装方法如下:   shell> yum -y install gcc glibc ncurses    shell> yum install iptraf  #即可完成查看网络流量