網(wǎng)絡(luò)的根本屈梁,是 Berkley 或 BSD Sockets。它們執(zhí)行基礎(chǔ)網(wǎng)絡(luò)任務(wù):收發(fā)二進(jìn)制數(shù)據(jù)
因?yàn)檫@些二進(jìn)制數(shù)據(jù)的收發(fā)都有規(guī)則,所以姊氓,就把這些邏輯封裝成了socket。這些API 就放在了CFNetwork里面喷好。這個(gè)庫(kù)也叫core foundation networking翔横。 它是對(duì)socket的輕量級(jí)封裝。
但是梗搅,socket 的操作禾唁,比較繁瑣效览,所以呢,又對(duì)socket進(jìn)行了封裝荡短,變成了更上層的 NSStream丐枉。并且用來(lái)作為objectC的網(wǎng)絡(luò)API。
NSStream 的 委托協(xié)議NSStreamDelegate 幾乎就是copy了CFNetwork的回調(diào)函數(shù)功能肢预。
所以矛洞,這里的層級(jí)關(guān)系就是這樣。