来源: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库) 核心的实现。