歡迎加入QQ討論群258996829
月之殘骸 頭像
蘋果2袋
2
月之殘骸

蘋果開源跨平臺(tái)低階非阻塞網(wǎng)絡(luò)應(yīng)用框架 SwiftNIO

發(fā)布時(shí)間:2018-03-07 09:42  回復(fù):0  查看:3218   最后回復(fù):2018-03-07 09:42  

蘋果近日開源了以 Swift 編寫的跨平臺(tái)異步事件驅(qū)動(dòng)的網(wǎng)路應(yīng)用框架 SwiftNIO ,該框架的目標(biāo)并非提供給一般開發(fā)者,因?yàn)閺母旧?SwiftNIO 是一個(gè)非常低階的工具。所以蘋果希望高階網(wǎng)路應(yīng)用框架可以用 SwiftNIO 來提供網(wǎng)路功能,開發(fā)者再以這些框架開發(fā)應(yīng)用。

SwiftNIO 的第一個(gè)單詞為 Swift ,NIO 則是非阻塞(Non-blocking)I/O的縮寫。蘋果表示,項(xiàng)目主要針對(duì)那些使用“ thread-per-connection”模型(每個(gè)請(qǐng)求對(duì)應(yīng)一個(gè)線程)的并發(fā)性效率低下或無法使用的用例。

SwiftNIO 的目標(biāo)不是提供像 Web 框架那樣的高級(jí)解決方案,它專注提供基礎(chǔ)的 I/O 功能與協(xié)定,并成為高階應(yīng)用的構(gòu)建塊之一。而 SwiftNIO 非阻塞 I/O 的設(shè)計(jì),也有別于多數(shù)常見的非阻塞 I/O 模型,SwiftNIO 要求內(nèi)核在進(jìn)行 I/O 操作時(shí)主動(dòng)發(fā)出通知,而非被動(dòng)等待資料從網(wǎng)路傳送或接收。

SwiftNIO 的目標(biāo)是支持 Swift 所支持的所有平臺(tái)。目前,它是在 macOS 和 Linux 上進(jìn)行開發(fā)和測(cè)試的,支持以下操作系統(tǒng)版本:

  • Ubuntu 14.04+

  • macOS 10.12+


文章轉(zhuǎn)載自 開源中國(guó)社區(qū)  [http://www.oschina.net]
您還未登錄,請(qǐng)先登錄

熱門帖子

最新帖子

?