您的位置:首页 > 移动开发 > IOS开发

ios-AsyncSocket框架介绍

2014-10-20 10:40 183 查看
使用方法如下:

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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: