现在的位置: 首页 > 综合 > 正文

ios-AsyncSocket框架介绍

2016年08月30日 ⁄ 综合 ⁄ 共 1196字 ⁄ 字号 评论关闭

使用方法如下:

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);
}

抱歉!评论已关闭.