专栏名称: 知识小集
目录
相关文章推荐
广东疾控  ·  每天运动 VS ... ·  3 天前  
51好读  ›  专栏  ›  知识小集

「 知识小集 」2019 · 第 2 期

知识小集  · 掘金  ·  · 2019-01-21 00:21

正文

阅读 120

「 知识小集 」2019 · 第 2 期

原文链接

本周主题: Network.framework

Network.framework 是 Apple 在 WWDC 2018 推出的一款新的网络框架,这个框架具备智能建立连接、优化数据传输、内建的安全加密、无缝兼容移动网络、原生 Swift 支持等特性,可以完全替换原有的 Socket API。URLSession 底层就是使用 Network.framework 完成基础连接的。不过目前相关的文章还比较少,就连官方文档也是语焉不详,很多类都没有详细的说明,而是只给了一个大体内容。不过相信这个框架在后面会更多的用途。

本周内容

本周我们做了次送书活动,活动于昨日晚 8 点截止,中奖结果如下:

感谢大家的热情留言和建议,我们会详细整理留言中的内容,以便后期为大家提供更好的内容。

本期公众号的主要内容有:

这周小集的内容有:

  • Xcode更新输入账号密码,账号却不是自己的
  • Framework 中混编时 umbrella header 设置注意事项
  • xcrun simctl delete unavailable 命令使用
  • 使用strong而不是assign修饰dispatch对象
  • 关于UIStackView的一个小知识点
  • This block declaration is not a prototype 编译警告处理

更多内容可以查看我们的小程序,或者 Github github.com/awesome-tip…

文章

使用 iOS 12 的 Network Framework 实现 netcat

文章以实现一个 netcat 命令行工具,来演示 Network Framework 的使用。这其中包括创建并监听 inbound 连接和 outbound 连接,并后续如何发起双向数据传输,获取数据等。另外文章还附带演示了 TLS 和 Bonjour 的一些使用。

Network.framework: A modern alternative to sockets (apple.com)

这是一个社区的讨论,大体是现有网络技术的一些问题,里面涉及为什么苹果会推出 Network.framework,以及这个框架解决的问题和优势,和 BSD sockets 等存在什么的关系。讨论非常长,需要耐心阅读。

NIOTransportServices: SwiftNIO and Network.framework

SwiftNIO 是 Apple 开源的一个跨平台的异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。

而 Network.framework 为则为 NIO 提供了许多强大的工具,包括更丰富的连接生命周期,对用户空间 TCP 堆栈的访问,以及对在 iOS 和 tvOS 上运行的完全支持。 此外,它还支持 SwiftNIO 主线目前不支持的强大网络技术,例如MPTCP。最后,它提供了与 Apple 平台 TLS 实现的一流集成,允许用户避免在 Apple 平台上使用 OpenSSL 或 LibreSSL 的负担。

开源代码

Connectivity

Connectivity 的主要用途是检测网络连接是否可用,即我们通常所使用的苹果的官方示例 Reachability 提供的功能。Connectivity 在 Reachability 的基础上提供了更多的功能,如对 Captive portal 的检测等。而 Connectivity 2.0.0 则是提供了对 iOS 12 及更高版本上 Network.framework 的支持。要使用此功能,只需要将 framework 属性设置为 .network。

视频

Network.framework 是在 WWDC 2018 推出的,Apple 有一个专门的 Session 来介绍这个框架,

新的 Network.framework API 让我们可以直接访问 URLSession 使用的相同高性能用户空间网络堆栈。如果您正在考虑在应用程序或库中使用 Berkeley Sockets,则可以先了解下这个框架。

而在其它地方,暂时没有找到与这框架相关的一些视频。







请到「今天看啥」查看全文