來源:https://www.cnblogs.com/syxlb/p/8484698.htmlhtml
DotNetty是微軟的Azure團隊,使用C#實現的Netty的版本發佈。不但使用了C#和.Net平臺的技術特色,而且保留了Netty原來絕大部分的編程接口。讓咱們在使用時,徹底能夠依照Netty官方的教程來學習和使用DotNetty應用程序。git
DotNetty同時也是開源的,它的源代碼託管在Github上: https://github.com/azure/dotnettygithub
Netty 的官方文檔 : http://netty.io/wiki/all-documents.html編程
從Github網站下載的項目中咱們比較關注的兩個文件夾,examples 和 src 。框架
examples中都是基本調用使用DotNetty的範例,src中是DotNetty的基礎源碼庫。我經常使用的是 Echo.Server 與 Echo.Client ,一個服務端,一個客戶端。異步
src 文件夾下的程序集介紹:性能
DotNetty.Buffers 是對內存緩衝區管理的封裝。學習
DotNetty.Codecs 是對編解碼是封裝,包括一些基礎基類的實現,咱們在項目中自定義的協議,都要繼承該項目的特定基類和實現。網站
MQTT(消息隊列遙測傳輸)編解碼是封裝,包括一些基礎基類的實現。spa
Protobuf 編解碼是封裝,包括一些基礎基類的實現。
ProtocolBuffers編解碼是封裝,包括一些基礎基類的實現。
Redis 協議編解碼是封裝,包括一些基礎基類的實現。
DotNetty.Common 是公共的類庫項目,包裝線程池,並行任務和經常使用幫助類的封裝。
DotNetty.Handlers 封裝了經常使用的管道處理器,好比Tls編解碼,超時機制,心跳檢查,日誌等。
DotNetty.Transport 是DotNetty核心的實現,Socket基礎框架,通訊模式:異步非阻塞。
DotNetty.Transport.Libuv是DotNetty本身實現基於Libuv (高性能的,事件驅動的I/O庫) 核心的實現。