网络的根本,是 Berkley 或 BSD Sockets。它们执行基础网络任务:收发二进制数据
因为这些二进制数据的收发都有规则,所以,就把这些逻辑封装成了socket。这些API 就放在了CFNetwork里面。这个库也叫core foundation networking。 它是对socket的轻量级封装。
但是,socket 的操作,比较繁琐,所以呢,又对socket进行了封装,变成了更上层的 NSStream。并且用来作为objectC的网络API。
NSStream 的 委托协议NSStreamDelegate 几乎就是copy了CFNetwork的回调函数功能。
所以,这里的层级关系就是这样。