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 前就调用了。




相关文章推荐

ASIHTTP 终结者

目录 目录发起一个同步请求创建一个异步请求队列请求请求队列上下文ASINetworkQueues, 它的delegate提供更为丰富的功能取消异步请求安全的内存回收建议向服务器端上传数据下载...

ASIHTTP资源包

  • 2012年12月05日 15:44
  • 422KB
  • 下载

ASIHTTP

转发至:http://jinkeu.blog.163.com/blog/static/2089212920114264356873/ ASIHTTPRequest 详解, h...

多线程下载三张图片(采用线程类,ASIHttp)

更新上一篇文章,这次是使用队列请求下载三张图片,本人因一小问题纠结了两天终于搞定了,分享给大家看看,有建议的直接Q我715425534 ---------------------------...

ASiHTTP.zip

  • 2013年09月03日 11:24
  • 1.05MB
  • 下载

ASIhttp得力助手

  • 2014年01月02日 16:03
  • 85KB
  • 下载

IOS ASIHttp库的使用总结

下载ASIHTTPRequest: Github project page: http://github.com/pokeb/asi-http-request/treeDownload th...

ASIHTTP demo

  • 2013年05月02日 09:32
  • 248KB
  • 下载

Send an image from the iPhone using ASIHTTP and UIImagePicker

First you need to save the image and keep track of the filename or filepath. Here I used a time inte...

ASIHttp的使用

官方网站: http://allseeing-i.com/ASIHTTPRequest/ 。可以从上面下载到最新源码,以及获取到相关的资料。 使用iOS SDK中的HTTP网络请求API,相当的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASIHTTP 代码品
举报原因:
原因补充:

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