CHINESE老太性视频BBW|欧美日韩中文另类|男生看b站都看什么|美国绣感视频|chinese china人情侣|邪恶动态图 出处|伊万卡的好大

品牌加盟網
品牌加盟網
品牌加盟網 > 加盟資訊 > 蘋果開源Swift底層非阻塞I/O框架SwiftNIO

蘋果開源Swift底層非阻塞I/O框架SwiftNIO

I 

看新聞很累?看技術新聞更累?試試下載InfoQ手機客戶端,每天上下班路上聽新聞,有趣還有料!

在近日舉行的try! Swift東京大會上,蘋果宣布了SwiftNIO項目,這是一個用Swift編寫的、類似Netty的非阻塞、跨平臺I/O框架。

SwiftNIO是一個為開發高性能服務器和客戶端而設計的事件驅動的異步網絡框架。目前,該框架在macOS (10.12+)和Linux(Ubuntu 14.04)上進行開發和測試。據蘋果介紹:

SwiftNIO是一個跨平臺的、事件驅動的異步網絡框架,用于開發可維護的高性能協議服務器&客戶端。

SwiftNIO旨在成為一個構建網絡應用程序和框架的底層工具,致力于提供低開銷的I/O原語和協議實現。因此,通常可以將SwiftNIO視為一個構造塊,用于構建供應用程序使用的高層網絡通信框架,或者是供有苛刻要求的應用程序直接使用的高性能框架。通過這種方法,針對大多數網絡協議的支持在源碼樹外被實現出來。按照蘋果SwiftNIO工程師Cory Benfield的說法,雖然HTTP/1.1協議的支持在源碼樹內,但TLS支持、Websocket和HTTP/2支持在源碼樹外。

EventLoop是SwiftNIO提供的一個基本抽象。該對象會等待事件,并在事件發生時觸發某個回調方法。在理想情況下,會有一個或者兩個核心事件循環。為了在事件循環之間分配負載,可以使用EventLoopGroup。在EventLoop之上是Channel和ChannelPipeline。它們提供了一種友好的方式,可以在與特定文件描述符關聯的事件到來時發送通知,并調度處理。ChannelHandler提供了管道順序執行事件處理的步驟。所有的處理器都是在同一個線程中執行,不需要同步,實現起來更簡單。這也意味著處理器不能阻塞。SwiftNIO提供的最高層抽象是Bootstrap,簡化特定場景的通道創建,如ServerBootstrap、ClientBootstrap、DatagramBootstrap。要了解所有細節,請查閱官方文檔。

在Package.swift中添加以下依賴項可以把SwiftNIO包含到自己的項目中:

此外,SwiftNIO提供了兩個示例NIOChat和NIOEcho,說明該框架的使用方法。

相關內容 相關廠商內容 用Kafka Streams搭建實時的廣告消費系統 OpenResty十年開源的歷程和思考 阿里巴巴Blink流計算平臺介紹與實踐 Apache Kafka的過去,現在,和未來 相關贊助商

您好,朋友! 您需要 注冊一個InfoQ賬號 或者 登錄 才能進行評論。在您完成注冊后還需要進行一些設置。 獲得來自InfoQ的更多體驗。 告訴我們您的想法 允許的HTML標簽: a,b,br,blockquote,i,li,pre,u,ul,p 當有人回復此評論時請E-mail通知我

關閉 by 發布于 查看 回復 回到頂部

  • 評論文章
  • 加盟咨詢
對此頁面內容評分及收藏
評分:
微博:
相關資訊
最新資訊
圖文資訊