I'm about to embark on a personal project to create a high-performing TCP server. Instead of rolling my own implementation and worrying about scalability, resource management, security etc, I'm trying to simplify my life by using something more out of the box.
I'm very interested in libuv, especially the Kestrel implementation of it (for obvious reasons like performance, reputability etc.). After digging around in the Kestrel source it seems the abstraction is good enough to make use of just the lower level libuv package (Kestrel.Transport.Libuv package) and potentially some other parts of the Kestrel.Core.
Anyone have experience with the Kestrel implementation to advise me about the feasibility of using the Kestrel internals to create my own TCP server, or suggest an alternative approach?
I have already looked at dotnetty, and although it looks very promising, their libuv implementation is currently experimental it seems.
As of 2019 you can use Kestrel as a TCP server (as part of project bedrock)
Here is a simple example: https://github.com/davidfowl/MultiProtocolAspNetCore
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With