8

I'm coming from Java and there we use the EPoll selector implementation that comes with the JDK for non-blocking / asynchronous networking TCP and UDP development. Therefore you don't have to make choices.

But when it comes to C++ there are dozens of options to choose from according to this answer: https://stackoverflow.com/questions/118945/best-c-c-network-library

I don't have experience with C++ so I don't know. Which one should I pick for low-latency, asynchronous, non-blocking, real-time, selector style network programming? Does C++ even have a standard non-blocking network library or are they all external / independent?

  • Hello, if any of these answers fulfill what you were looking for please mark it as accepted. If not, edit the question to allows us to answer the question. – Theodore Aug 17 '18 at 03:50

2 Answers2

3

networking will be available as standard only in c++17, currently boost is an option if you want to abstract the operational system features ( epool, kqueue, io completion ), low latency or realtime try dpdk to bypass operational system kernel.

3

Take a look on POCO. This is really good library.

Another link I consider you should to check is ACE. You may find it a bit outdated and hard to understand from first try but concept is very close to MINA and NIO.

rimas
  • 161
  • 2