DotNetty Performance Comparison in Windows and linux, dotnetty Performance Comparison
1. DotNetty background
DotNetty is Microsoft's Azure team and is released using the Netty version implemented by C. It not only uses the technical features of C # And. Net platforms, but also retains most of Netty's original programming interfaces. We can follow Netty's official tutorial to learn and use the DotNetty application.
DotNetty is also open source, its source code is hosted on Github: https://github.com/azure/dotnetty
Netty official documentation: http://netty.io/wiki/all-documents.html
2. Introduction to various components of the DotNetty Project
The two folders we pay more attention to in the project downloaded from the Github Website: examples and src.
Examples is an example of using DotNetty for basic calls. src is the basic source code library of DotNetty. I usually use Echo. Server and Echo. Client, one Server and one Client.
Introduction to the Assembly in the src Folder:
DotNetty. Buffers is the encapsulation of memory buffer management.
DotNetty. Codecs is an encapsulation of codec, including the implementation of some basic base classes. The protocols we customize in the project must inherit the specific base classes and implementations of the project.
MQTT (Message Queue telemetry transmission) codec is encapsulation, including the implementation of some basic classes.
- DotNetty. Codecs. Protobuf
Protobuf codec is encapsulation, including the implementation of some basic classes.
- DotNetty. Codecs. ProtocolBuffers
ProtocolBuffers codec is encapsulation, including the implementation of some basic classes.
Redis protocol codec is encapsulation, including the implementation of some basic classes.
DOtNetty. Common is the encapsulation of Common class library projects, packaging thread pools, parallel tasks, and Common help classes.
DotNetty. Handlers encapsulates common MPs queues, such as Tls codec, timeout, heartbeat check, and logs.
DotNetty. Transport is the core implementation of DotNetty, Socket basic framework, communication mode: asynchronous non-blocking.
- DotNetty. Transport. Libuv
DotNetty. Transport. Libuv is the core implementation of DotNetty Based on Libuv (high-performance, event-driven I/O library.
(...... Not finished, to be continued !)