ios-AsyncSocket框架介绍

本文介绍如何使用AsyncSocket进行网络通信编程,包括工程创建、文件添加、框架集成及具体实现方法。通过实例演示了连接建立、数据收发、断开连接等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用方法如下:


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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值