ASIHTTP 代码品

原创 2012年03月26日 10:40:17

Boolean CFReadStreamSetClient(CFReadStreamRef stream, CFOptionFlags streamEvents, CFReadStreamClientCallBack clientCB, CFStreamClientContext *clientContext);


注册stream  感兴趣的streamEvents  的CFReadStreamClientCallBack回调函数。


NSInteger bytesRead = [[self readStream] read:buffer maxLength:sizeof(buffer)];


该方法读取网络返回数据


NSOperation 调用概述

- (void)main  --> startRequest  --> (CFReadStreamOpen((CFReadStreamRef)[self readStream]))     (真正发送数据)   感觉理解不到位,因为我用wireShark 没抓到东东)


中调用



 [self performSelector:@selector(main) onThread:[[self class] threadForRequest:self] withObject:nil waitUntilDone:NO];


启动 main 方法在 threadForRequest  runLoop 中



ASIHTTPRequest  中重载了 main 和start 方法


开启 一个线程

+ (void)runRequests 

CFRunLoopRunInMode(kCFRunLoopDefaultMode, 1.0e10,TRUE); 

监听 事件。


start 方法 添加 main 方法  到上面线程 去执行。


CFReadStreamCreateForStreamedHTTPRequest(kCFAllocatorDefault, request,(CFReadStreamRef)[self postBodyReadStream]))


用request  初始化一个  readStream


[self scheduleReadStream];

[[self readStream] scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:[self runLoopMode]];

将readStream 方法添加到 RunLoop 中。


ASIHTTP  开启一个线程 用于 发送和接收消息。


- (void)handleNetworkEvent:(CFStreamEventType)type
{    
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];


在这里 添加一个释放池,返回一个autorelease 的数据。再处理完后立即释放。



+ (void)initialize 在 alloc 前就调用了。




iOS开发ASIHttpRequest介绍(五)--ASIHTTPRequest中Cookie的使用

本文为大家介绍了iOS开发ASIHTTPRequest中Cookie的使用的内容,其中包括持久化cookie,自己处理cookie等等内容,希望对大家有所帮助。 持久化cookie ASI...
  • dztianyu
  • dztianyu
  • 2014年01月16日 17:01
  • 1151

ASIHttp

http://www.pan-apps.com/?p=281 原文; http://www.cocoachina.com/bbs/read.php?tid=98532&keyword=%CD%F...
  • lxs_kevin
  • lxs_kevin
  • 2013年05月08日 10:38
  • 483

使用html5,css,实现品字形布局

使用HTML,CSS3实现品字形布局html,body{ margin:0; padding:0; } div:first-child{ width:100%; height:100%;...
  • dream_hai
  • dream_hai
  • 2016年07月25日 14:16
  • 2103

ASI 缓存设置

//---------------------设置缓存------------------------     NSString *cachePath = [NSHomeDirectory() str...
  • zhufaming12
  • zhufaming12
  • 2015年05月14日 13:38
  • 214

ASIHTTP

转发至:http://jinkeu.blog.163.com/blog/static/2089212920114264356873/ ASIHTTPRequest 详解, h...
  • edward0004
  • edward0004
  • 2011年12月17日 20:46
  • 441

ASIHTTPRequest和AFNetworking比较

ASI和AFN以及底层框架的关系    对比 ASI AFN 更新状态 2012年10月份,已经停止更新 持续更新中,目前...
  • sturdy_bin
  • sturdy_bin
  • 2016年05月11日 20:14
  • 175

asihttp 源码分析一

一:发起一个同步请求   C代码   ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];    ...
  • xiezhenxiang
  • xiezhenxiang
  • 2012年10月11日 12:30
  • 1529

iOS ASIHttpRequest 封装

ASIHttpRequest 封装// // HttpUtil.h // AshineDoctor // // Created by JiangYue on 15/2/6. // Copyri...
  • zhangqipu000
  • zhangqipu000
  • 2016年01月13日 15:55
  • 566

仿小米明星产品展示

最近在学习javascript,所以今天来做一个仿小米的带动画的产品展示界面,希望大家多多关照!...
  • qq_32207471
  • qq_32207471
  • 2016年04月17日 20:21
  • 650

css之品字布局

1、品字布局(每块都有固定宽高) 品字布局 *{margin:0; padding:0;} div{ width:100px; height:100px; background:red; ...
  • zx_p24
  • zx_p24
  • 2016年11月25日 10:38
  • 833
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASIHTTP 代码品
举报原因:
原因补充:

(最多只允许输入30个字)