libquicknet
Biblioteca de redes UDP simple, pequeña y confiable para juegos
❗ libquicknet está en desarrollo y no es adecuado para código de producción ❗
El objetivo principal de esta biblioteca son prototipos de juegos o juegos improvisados que requieren un subsistema de conexión en red rápido y plug&play.
¡Muy fácil de poner en marcha!
Características:
- Protocolo UDP orientado a conexión con protocolo de enlace de 3 pasos
- Soporte cliente<->servidor y punto a punto
- Bajo uso de ancho de banda
- Soporte secuenciado/no secuenciado Fiable/no fiable
- Sistema de reconocimiento rápido y redundante para mensajes confiables
- Descubrimiento de servidores (solo LAN)
- Sistema de suma de verificación completo para evitar la corrupción de mensajes.
- Combinación de mensajes opcional al enviar
- Velocidad de envío fija y seleccionable
- Detección de mensajes duplicados
- Soporte de latencia falsa y pérdida de paquetes
- Estimación de ping y tiempo de ida y vuelta
- Multiplataforma (Windows/Linux)
Características futuras:
- Sincronización horaria
- Sincronización RNG para sistemas deterministas.
- Empaquetado de bits y compresión
- Cifrado simétrico con intercambio de claves al momento del apretón de manos
- Recorrido y perforación de NAT
- Conciencia de endianidad
- Mejorar el sistema de reconocimiento
Instalación
¡Suelte todos los archivos fuente en su proyecto y compílelos!
Uso
- incluir Quicknet_peer.h
- crear un descendiente de Quicknet::Peer
- anular los métodos OnConnection, OnDisconnection y OnGameMessage
- Defina los mensajes de su juego personalizados según las instrucciones en quicknet_messagetypes.h
- Incluya sus ID de mensajes en quicknet_messagelookup.h
- ¡Listo!
Para ver un ejemplo sencillo, consulte test.cpp
Fondo
Esta biblioteca se escribió en una semana y, aunque es completamente funcional, todavía necesita mucho trabajo para mejorarla aún más.
Todavía hay muchas cosas codificadas que necesitan atención, pero intentaré convertir esto en una biblioteca fácilmente personalizable.