AsyncSocket详解

来源:互联网 发布:ubuntu 17.10 qq 编辑:程序博客网 时间:2024/05/18 21:11

AsyncSocket详解  

来自:http://blog.csdn.net/miaobinbin/article/details/8332732

其他参考:

http://disanji.net/2011/08/12/cocoaasyncsocket%E5%AD%A6%E4%B9%A0/

http://xiva.iteye.com/blog/993392

http://blog.csdn.net/zltianhen/article/details/6560322

http://bbs.csdn.net/topics/390325289?page=1(发送图片问题)


//在socket连结发生错误的时候,socket被关闭。
//在断开之前你可以读取断开之前最后的bit数据
//当连接的时候,这个代理的方法可能被执行。
-(void) onSocket:(AsyncSocket *) sock willDisConnectWithError:(NSError *)err;


//当socket断开或者没有错误的时候,被调用。
//如果你想在socket断开之后释放socket就在这个方法中在进行。
//在“onSocket:willDisconnectWithError”中是不安全的。
//如果你在socket没真正断开,调用该方法,该方法在断开连接方法返回之前将会被调

用。
-(void) onSocketDidDisconnect:(AsyncSocket *) sock;


//当Socket接受一个连接的时候被调用。
//另一个socket来处理它。
//这个新的socket有同样的代理并且将会调用"onSocket:didConnectToHost:port;"
-(void)onSocket:(AsyncSocket *)sock didAcceptNewSocket:(AsyncSocket *)

newSocket;


//一个新的socket来处理这个连接的时候被调用。
//在这个新的socket中这个方法应该返回一个run-loop的线程这个代理应该管理。
//-(NSRunLoop *)onSocket:(AsyncSocket *)sock

wantsRunLoopForNewSocket:(AsyncSocket *)newSocket;


//当这个socket是连接的时候,这个方法将会返回一个YES继续或者一个NO停止。
//-(BOLL)onSocketWillConnect:(AsyncSocket *)sock;
//当socket连接并准备读和写。
//这个host参数是一个IP不是一个域名。
-(void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host

port:(UInt16)port;


//当pocket已经完成到读取内存中的数据请求。
//如果发生错误将不会访问。
-(void)onSocket:(AsyncSocket *)sock didReadData:(NSData *) data

withTag:(long)tag;


//当socket读取数据并且没有完成。
//如果使用readToData:或者是 readToLength方法将会发生。
//它在进度条更新的时候可能被使用。
(void)onSocket:(AsyncSocket *)sock

didReadPartialDataOfLength:(NSUInteger)partialLength tag:(long)tag;


//当socket完成写数据请求的时候。
-(void)onSocket:(AsyncSocket *)sock didWriteDataWithTag:(long)tag;
//当socket写数据但是没完成的时候会被调用,可适用于进度条更新的时候。

-(void)onSocket:(AsyncSocket *)sock

didWritePartialDataOfLength:(NSUInteger)partialLength tag:(long)tag;
//-(NSTimerInterval)onSocket:(AsyncScoket *)sock

shouldTimeroutReadWithTag:(long)tag  elapsed:(NSTimeInterval)elapsed 

bytesDone:(NSUInteger)length;

原创粉丝点击