Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

KestrelHttpServer as TCP server

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.

like image 437
Rei Mavronicolas Avatar asked Jun 07 '26 08:06

Rei Mavronicolas


1 Answers

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

like image 86
SHM Avatar answered Jun 08 '26 23:06

SHM



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!