使用方法如下:
1、创建工程。
2、把AsyncSocket.h和AsyncSocket.m文件添加到项目中。
3、添加CFNetwork.framework到工程中。
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);
}