美文网首页
iOS 长连接-CocoaAsyncSocket 简介

iOS 长连接-CocoaAsyncSocket 简介

作者: FieryDragon | 来源:发表于2020-08-09 20:46 被阅读0次

    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套接字库。

    相关文章

      网友评论

          本文标题:iOS 长连接-CocoaAsyncSocket 简介

          本文链接:https://www.haomeiwen.com/subject/dujsdhtx.html