iOS 长连接-CocoaAsyncSocket 简介

CocoaAsyncSocket项目是一个成熟的开源框架,自2003年以来一直存在。因此,它已受益于提交了代码或建议功能的广大网络开发人员。该项目的目标是创建功能强大且易于使用的套接字库。

GCDAsyncSocket

GCDAsyncSocket是基于Grand Central Dispatch构建的TCP套接字库,向上封装出简单易用的OC接口,给Mac和iOS开发者提供了强大的、易于使用的功能。

GCDAsyncSocket.m文件大概有8000多行代码,封装有GCDAsyncSocketPreBuffer(数据预缓存区)、GCDAsyncReadPacket(数据读取)、GCDAsyncWritePacket(数据写入)、GCDAsyncSpecialPacket(开启TLS后使用)、GCDAsyncSocket等类的实现。可用于客户端的连接及服务器端的搭建。

GCDAsyncSocket的具体特点包括:

  • 支持经典的委托样式。
    以下所有操作都会导致调用委托方法:连接、接受、读取完成、写入完成、进度、断开连接、错误等。委托方法包含一个套接字参数,允许您区分多个实例。

  • 委托调度。
    每个委托方法都会在一个可配置的dispatch_queue上调用。这允许并行套接字IO和数据处理,以及简单的线程安全性。

  • 排队的非阻塞读写操作,具有可选超时。
    您告诉它要读取或写入的内容,完成后它将通知您。

  • socket自动接受。
    如果您告诉它接受连接,它将通知您每个连接的新实例。当然,您可以立即断开它们的连接。

  • 自动支持IPv4和IPv6。

  • 支持SSL / TLS。

  • 基于最新的技术,如kqueues和GCD。

  • 自成一类。
    您不需要到处处理流或套接字。该类处理所有这些。

GCDAsyncSocket是线程安全的。

GCDAsyncUdpSocket

UDP套接字库。

  • 参考链接
    Reference_GCDAsyncSocket

你可能感兴趣的:(iOS 长连接-CocoaAsyncSocket 简介)