使用方法如下:
1、创建工程。
2、把AsyncSocket.h和AsyncSocket.m文件添加到项目中。
3、添加CFNetwork.framework到工程中。
4、实现测试类:
- (void)initAsynSocket { asyncSocket = [[AsyncSocket alloc] initWithDelegate:self]; NSError *error = nil; if (![asyncSocket connectToHost:@"192.168.0.113" onPort:25001 error:&error]) { NSLog(@"error:%@",error); } } // AsyncSocketDelegate - (void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port { // 完成连接 NSLog(@"onSocket:%p didConnectToHost:%@ port:%hu", sock, host, port); } - (BOOL)onSocketWillConnect:(AsyncSocket *)sock { // 将要连接 return YES; } - (void)onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag { // 收到SYN_ACK数据,代表三次握手成功 NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"str:%@",str); [str release]; NSData *aData= [@"<xml>我喜欢你<xml>" dataUsingEncoding: NSUTF8StringEncoding]; [sock writeData:aData withTimeout:-1 tag:1]; [sock readDataWithTimeout:1 tag:0]; } - (void)onSocketDidSecure:(AsyncSocket *)sock { NSLog(@"onSocket:%p didSecure:YES", sock); } - (void)onSocket:(AsyncSocket *)sock willDisconnectWithError:(NSError *)err { // 将要断开连接 NSLog(@"onSocket:%p willDisconnectWithError:%@", sock, err); } - (void)onSocketDidDisconnect:(AsyncSocket *)sock { //断开连接 NSLog(@"onSocketDidDisconnect:%p", sock); }