一、DotNetty背景介紹 DotNetty是微軟的Azure團隊,使用C#實現的Netty的版本發佈。不但使用了C#和.Net平臺的技術特點,並且保留了Netty原來絕大部分的編程介面。讓我們在使用時,完全可以依照Netty官方的教程來學習和使用DotNetty應用程式。 DotNetty同時也 ...
一、DotNetty背景介紹
DotNetty是微軟的Azure團隊,使用C#實現的Netty的版本發佈。不但使用了C#和.Net平臺的技術特點,並且保留了Netty原來絕大部分的編程介面。讓我們在使用時,完全可以依照Netty官方的教程來學習和使用DotNetty應用程式。
DotNetty同時也是開源的,它的源代碼托管在Github上: https://github.com/azure/dotnetty
Netty 的官方文檔 : http://netty.io/wiki/all-documents.html
二、DotNetty項目各個程式集介紹
從Github網站下載的項目中我們比較關註的兩個文件夾,examples 和 src 。
examples中都是基本調用使用DotNetty的範例,src中是DotNetty的基礎源碼庫。我常用的是 Echo.Server 與 Echo.Client ,一個服務端,一個客戶端。
src 文件夾下的程式集介紹:
- DotNetty.Buffers
DotNetty.Buffers 是對記憶體緩衝區管理的封裝。
- DotNetty.Codecs
DotNetty.Codecs 是對編解碼是封裝,包括一些基礎基類的實現,我們在項目中自定義的協議,都要繼承該項目的特定基類和實現。
- DotNetty.Codecs.Mqtt
MQTT(消息隊列遙測傳輸)編解碼是封裝,包括一些基礎基類的實現。
- DotNetty.Codecs.Protobuf
Protobuf 編解碼是封裝,包括一些基礎基類的實現。
- DotNetty.Codecs.ProtocolBuffers
ProtocolBuffers編解碼是封裝,包括一些基礎基類的實現。
- DotNetty.Codecs.Redis
Redis 協議編解碼是封裝,包括一些基礎基類的實現。
- DotNetty.Common
DotNetty.Common 是公共的類庫項目,包裝線程池,並行任務和常用幫助類的封裝。
- DotNetty.Handlers
DotNetty.Handlers 封裝了常用的管道處理器,比如Tls編解碼,超時機制,心跳檢查,日誌等。
- DotNetty.Transport
DotNetty.Transport 是DotNetty核心的實現,Socket基礎框架,通信模式:非同步非阻塞。
- DotNetty.Transport.Libuv
DotNetty.Transport.Libuv是DotNetty自己實現基於Libuv (高性能的,事件驅動的I/O庫) 核心的實現。
(.....................未完,待續!)