cocoa - 苹果说NSFileHandle不应该用于网络的原因?

  显示原文与译文双语对照的内容

苹果说,这里的"不使用 NSSocketPort ( OS X ) 或者NSFileHandle用于一般套接字通信"。

现在我正在努力调试一个插座断开问题。

如果我们使用 NSFileHandle,是否存在性能问题?

它们是否只是因为NSStream将有助于调试,所以才鼓励使用 NSFileHandle? 先谢谢了。

时间: 原作者:

继续阅读你链接的文档解释为什么不应该使用NSFileHandle网络:

NSFileHandle类绕过了标准网络堆栈,该堆栈包含以下缺点:

  • 标准网络api相比,用NSFileHandle进行的网络连接效率大大降低。
  • 历史上,使用NSFileHandle进行网络连接,导致性能或者奇怪的hard-to-debug失败。
  • 没有直接的方法使用TLS身份验证和加密在NSFileHandle所做的连接上。
  • 在iOS中,NSFileHandle不会自动激活设备调制解调器或者按需VPN的单元。

相反,使用NSStream进行远程连接,而CFSocket用于侦听。

原作者:
...