¿Qué API / bibliotecas comerciales están disponibles para proporcionar una transmisión de baja latencia de alto rendimiento a través de sockets UDP (como para FPSers y MMO)?

Supongo que la mayoría de los motores de juego relativamente conocidos (Unreal, CryEngine, id Tech, etc.) proporcionan tales instalaciones.

Sin embargo, la ‘transmisión de alto rendimiento y baja latencia’ no es realmente algo que deba llegar lejos para lograrlo. Se trata principalmente de diseñar las construcciones de E / S de red de su aplicación teniendo en cuenta los pros y los contras (el envío de paquetes grandes da como resultado una mejor utilización de b / n, pero una mayor latencia y viceversa), confiando en la multiplexación asincrónica de E / S, configurando las opciones de socket apropiadas ( deshabilitar el algoritmo de Nagle), agrupar datos salientes (writev () o llamadas similares junto con llamadas setsockopt () para activar y desactivar TCP_CORK) e intentar empaquetar tantos datos (la compresión ayuda allí, pero tal vez no tanto como generar formas eficientes de estructurarlos / serializarlos).

Prueba Rak Net. Admite UDP confiable, que es más rápido que TCP y bastante confiable, ya que UDP es un protocolo de transmisión de disparo y olvido. Rak Net también está integrado con el motor Unity 3D

http://en.wikipedia.org/wiki/Raknet
http://www.jenkinssoftware.com/

Rak Net ha existido durante años, por lo que la base del código es bastante estable y sólida

TCP / IP

UDP está sobrevalorado como una solución. Tarde o temprano necesita confiabilidad y es difícil superar los 30 años de desarrollo que se han implementado en TCP / IP, además del hecho de que la red comprende TCP / IP.

Existen algunas soluciones para las paradas de TCP / IP que implican UDP redundante, pero todas ellas cuestan un ancho de banda significativo en la compensación y el problema de las paradas de TCP / Ip también está sobrevalorado en Internet moderno.

GuildWars (y estoy bastante seguro de que Guildwars2) son juegos TCP / IP puros y funcionan bien.

En cuanto a la “baja latencia”, Internet es lo que es y ninguna solución de software además de ella podrá mejorar sus latencias básicas.

Para los juegos en línea, todo se trata del diseño del juego y la arquitectura cliente / servidor. No elimina mágicamente las latencias, solo las oculta al usuario.