IOS AsyncSocket

时间:2021-07-17 11:24:43

导入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\n\n"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);

}