IOS AsyncSocket

导入AsyncSocket.h  AsyncSocket.m   AsyncUdpSocket.h   AsyncUdpSocket.m   以及  CFNetWork.framework   

 

 

asyncSocket = [[AsyncSocketalloc] initWithDelegate:self];

    NSError *err = nil;

    if(![asyncSocketconnectToHost:@"www.baidu.com"onPort:80error:&err])

    {

        NSLog(@"Error: %@", err);

    }

    

    

    [asyncSocketwriteData:[@"GET / HTTP/1.1 "dataUsingEncoding:NSUTF8StringEncoding] withTimeout:3tag:1];

 

 

 

 

 

 

//建立连接

-(void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port

{

    NSLog(@"onScoket:%p did connecte to host:%@ on port:%d",sock,host,port);

    [sock readDataWithTimeout:1tag:0];

}

 

//读取数据

-(void)onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag

{

    NSString *aStr=[[NSStringalloc] initWithData:data encoding:NSUTF8StringEncoding];

    NSLog(@"aStr==%@",aStr);

    

    

    NSData *aData=[@"Hi there"dataUsingEncoding:NSUTF8StringEncoding];

    [sock writeData:aData withTimeout:-1 tag:1];

    [sock readDataWithTimeout:1tag:0];

}

 

//是否加密

-(void)onSocketDidSecure:(AsyncSocket *)sock

{

    NSLog(@"onSocket:%p did go a secure line:YES",sock);

}

 

//遇到错误时关闭连接

-(void)onSocket:(AsyncSocket *)sock willDisconnectWithError:(NSError *)err

{

    NSLog(@"onSocket:%p will disconnect with error:%@",sock,err);

}

 

//断开连接

-(void)onSocketDidDisconnect:(AsyncSocket *)sock

{

    NSLog(@"onSocketDidDisconnect:%p",sock);

}

 

原文地址:https://www.cnblogs.com/rollrock/p/3775361.html