8 votos

¿Cuál es la mejor / más utilizada / recomendada biblioteca de red no bloqueante de C++ para el desarrollo de baja latencia / tiempo real?

Vengo de Java y allí utilizamos la implementación del selector EPoll que viene con el JDK para el desarrollo de redes no bloqueantes / asíncronas TCP y UDP. Por lo tanto, usted no tiene que elegir.

Pero cuando se trata de C++ hay docenas de opciones para elegir según esta respuesta: https://stackoverflow.com/questions/118945/best-c-c-network-library

No tengo experiencia con C++ así que no lo sé. ¿Cuál debería elegir para una programación de red de baja latencia, asíncrona, no bloqueante, en tiempo real y de estilo selector? ¿Tiene C++ incluso una biblioteca de red estándar no bloqueante o son todas externas / independientes?

0 votos

Hola, si alguna de estas respuestas cumple con lo que buscabas por favor márcala como aceptada. Si no es así, edite la pregunta para que podamos responderla.

3voto

user154138 Puntos 1

El networking estará disponible como estándar sólo en c++17, actualmente boost es una opción si quieres abstraer las características del sistema operacional ( epool, kqueue, io completion ), baja latencia o tiempo real prueba dpdk para evitar el kernel del sistema operacional.

0 votos

Gracias. Pero c++17 no llegará hasta 2017 como muy pronto, ¿no? ¿Puedes explicar la diferencia entre Boost.Asio y Asio ?

0 votos

Es lo mismo, lo explican aquí think-async IMO la principal diferencia es la posibilidad de usar la librería sin necesidad de boost, a algunos desarrolladores no les gusta :D

3voto

Neeraj Dugar Puntos 6

Echa un vistazo en POCO . Esta es una biblioteca realmente buena.

Otro enlace que considero que deberías consultar es ACE . Puede que te parezca un poco anticuado y difícil de entender desde el primer intento, pero el concepto es muy cercano a MINA y NIO.

0 votos

Se me olvidó mencionarlos, gracias por recordarlo ;)

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X