9
$\begingroup$

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?

$\endgroup$
1
  • $\begingroup$ 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. $\endgroup$
    – Theodore
    Commented Aug 17, 2018 at 3:50

2 Answers 2

3
$\begingroup$

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.

$\endgroup$
2
  • $\begingroup$ Thanks! But c++17 is coming only in 2017 the earliest, right? Can you explain the difference between Boost.Asio and Asio? $\endgroup$ Commented Mar 30, 2016 at 13:05
  • $\begingroup$ its the same thing, they explain here think-async IMO the main difference is the possibility to use the library without need of boost, some developers doesnt like it :D $\endgroup$ Commented Mar 30, 2016 at 20:04
3
$\begingroup$

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.

$\endgroup$
1
  • $\begingroup$ forgot to mention those, thanks for remind ;) $\endgroup$ Commented Sep 13, 2016 at 18:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.