Para proyectos orientados a x64
Install-Package Spitfirex64
Para proyectos orientados a x86
Install-Package Spitfirex86
Para instalar las utilidades
Install-Package SpitfireUtils
Spitfire es un contenedor del código nativo WebRTC que permite que las aplicaciones .NET aprovechen los canales de datos. El objetivo de esto es permitir a las personas crear increíbles aplicaciones P2P y facilitar el uso de WebRTC como un servidor.
Un canal de datos WebRTC le permite enviar texto o datos binarios a través de una conexión activa a un par. En el contexto de un juego, esto permite a los jugadores enviarse datos entre sí, ya sea chat de texto o información del estado del juego. Los canales de datos vienen en dos tipos.
Los canales confiables garantizan que los mensajes que envía lleguen al otro interlocutor y en el mismo orden en que se envían. Esto es análogo a un socket TCP.
Los canales poco fiables no ofrecen tales garantías; No se garantiza que los mensajes lleguen en ningún orden en particular y, de hecho, no se garantiza que lleguen en absoluto. Esto es análogo a un socket UDP.
Para obtener un recordatorio rápido sobre las diferencias entre UDP y TCP, consulte aquí
Actualmente, esta biblioteca no admite audio ni video; sin embargo, si hay suficiente demanda, podemos considerar agregarla. Para garantizar que este código se ejecute en todos los entornos, implementamos dispositivos de audio/vídeo falsos durante la inicialización.
Los canales de datos solo admiten el envío de pequeños fragmentos de datos, aunque es posible enviar archivos completos a través de ellos, primero deben fragmentarse. Proporcionamos algunas funciones que le permitirán hacer esto rápidamente sin realizar copias innecesarias en DataChannelUtils
. Se recomienda fragmentar todos los mensajes de más de 10 KB para evitar alcanzar el límite de 16 KB.
La señalización es el proceso de coordinación de la comunicación. Para que una aplicación WebRTC configure un canal de datos, sus clientes necesitan intercambiar información. Spitfire actualmente no proporciona un servidor de señalización; sin embargo, este no es un proceso complejo y puede encontrar más información al respecto aquí.
Si busca maximizar la velocidad de su aplicación, le recomendamos combinar Spitfire con Sachiel, nuestro marco de mensajería de red rápida.
Si desea contribuir con documentación, ejemplos de código o correcciones, estaremos encantados de aceptar solicitudes de extracción.
Para compilar C++, puede encontrar las bibliotecas WebRTC precompiladas en la página de lanzamiento aquí. Construir WebRTC en sí puede ser todo un dolor de cabeza, por lo que también proporcionamos scripts para eso ubicados aquí.