2.1 TCP Socket(含SSL)通讯库GCDAsyncSocket(一)
来源:互联网 发布:php门户系统 编辑:程序博客网 时间:2024/04/29 19:38
在iOS编程中,socket处理中比较出名的第三方库有CocoaAsyncSocket,CocoaAsyncSocket的功能强大,有tcp和udp两部分,这里只学习整理tcp部分。
一 github地址:https://github.com/robbiehanson/CocoaAsyncSocket
1可以通过pod引入CocoaAsyncSocket库,省去加framework的过程
2可以手动导入。
二 CocoaAsyncSocket的基本使用
1 初始化
- (instancetype)init{ if (self = [super init]) { //初始化socket _asyncSocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()]; } return self;}</span>
2 连接
//设置主机服务器和端口号,连接- (void)connectWithHost:(NSString *)hostName port:(int)port{ NSError *error = nil; [_asyncSocket connectToHost:hostName onPort:port error:&error]; if (error) { }}</span>
3 断开连接
//socket断开连接- (void)disconnect{ [_asyncSocket disconnect];}</span>
4 连接状态
//socket连接状态- (BOOL)isConnected{ return [_asyncSocket isConnected];}</span>
5 代理方法
//socket断开连接会调用该函数- (void)socketDidDisconnect:(GCDAsyncSocket *)sock withError:(NSError *)err{}//socket连接到主机会调用该函数- (void)socket:(GCDAsyncSocket *)sock didConnectToHost:(NSString *)host port:(uint16_t)port{}//socket连接后收到数据- (void)socket:(GCDAsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag{ [sock readDataWithTimeout:-1 tag:tag];}//socket写入数据- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag{ [sock readDataWithTimeout:-1 tag:tag];}</span>
三 含SSL不通过证书验证
//SSL不通过证书验证- (void)startWithTLS{ NSDictionary *sslSettings = @{(NSString *)kCFStreamSSLValidatesCertificateChain: (id)kCFBooleanFalse}; [_asyncSocket startTLS:sslSettings];}
接下来介绍GCDAsyncSocket的封装
0 0
- 2.1 TCP Socket(含SSL)通讯库GCDAsyncSocket(一)
- 2.1TCP Socket(含SSL)通讯库GCDAsyncSocket(二)
- 2.1 TCP Socket(含SSL)通讯库GCDAsyncSocket(三)
- 2.1 TCP Socket(含SSL)通讯库GCDAsyncSocket(四)
- 2.1 TCP Socket(含SSL)通讯库GCDAsyncSocket(五)
- GCDAsyncSocket TCP 建立 socket 连接
- 【Java TCP/IP Socket】TCP Socket(含代码)
- 【Java TCP/IP Socket】TCP Socket(含代码)
- 【Java TCP/IP Socket】TCP Socket(含代码)
- 【Java TCP/IP Socket】TCP Socket(含代码)
- 【Java TCP/IP Socket】TCP Socket(含代码)
- 【Java TCP/IP Socket】TCP Socket(含代码)
- 【Java TCP/IP Socket】TCP Socket(含代码)
- 【Java TCP/IP Socket】TCP Socket(含代码)
- 【Java TCP/IP Socket】TCP Socket(含代码)
- 【Java TCP/IP Socket】TCP Socket(含代码)
- 【Java TCP/IP Socket】TCP Socket(含代码)
- Java socket通讯(一)
- MySQL系列之一:数据库设计
- Bitmap too large to be uploaded into a texture
- eclipse中使用git进行版本控制
- fancybox 点击图片后跳转到页面顶部的 解决方法
- Android中Parcelable接口用法(转)
- 2.1 TCP Socket(含SSL)通讯库GCDAsyncSocket(一)
- RabbitMQ (三) 发布/订阅
- 红眼病患者有很多注意事项,尤其是在饮食上
- 实时日志收集-查询-分析系统(Flume+ElasticSearch+Kibana)
- 86. Partition List
- 对拍文件
- Windows系统中MySQL 5.6的配置文件(my.ini)修改方法
- Delphi CxGrid用法详解
- MONGO Replica 频繁插入大数据的问题