Para projetos direcionados a x64
Install-Package Spitfirex64
Para projetos direcionados a x86
Install-Package Spitfirex86
Para instalar os utilitários
Install-Package SpitfireUtils
Spitfire é um wrapper em torno do código nativo WebRTC que permite que aplicativos .NET aproveitem os canais de dados. O objetivo disso é permitir que as pessoas criem aplicativos P2P incríveis e facilitar o uso do WebRTC como um servidor.
Um canal de dados WebRTC permite enviar texto ou dados binários por meio de uma conexão ativa para um ponto. No contexto de um jogo, isso permite que os jogadores enviem dados uns aos outros, seja bate-papo por texto ou informações sobre o status do jogo. Os canais de dados vêm em dois sabores.
Canais confiáveis garantem que as mensagens enviadas cheguem ao outro ponto e na mesma ordem em que foram enviadas. Isso é análogo a um soquete TCP.
Canais não confiáveis não oferecem tais garantias; não é garantido que as mensagens cheguem em uma ordem específica e, na verdade, não há garantia de que cheguem. Isso é análogo a um soquete UDP.
Para um rápido lembrete sobre as diferenças entre UDP e TCP, veja aqui
Esta biblioteca atualmente não suporta áudio e vídeo, no entanto, se houver demanda suficiente, poderemos considerar adicioná-la. Para garantir que esse código seja executado em todos os ambientes, implementamos dispositivos de áudio/vídeo falsos durante a inicialização.
Os canais de dados suportam apenas o envio de pequenos fragmentos de dados, embora seja possível enviar arquivos completos através deles, eles devem primeiro ser fragmentados. Fornecemos algumas funções que permitirão que você faça isso rapidamente, sem cópias desnecessárias em DataChannelUtils
. É recomendável agrupar todas as mensagens com mais de 10 KB para evitar atingir o limite de 16 KB.
A sinalização é o processo de coordenação da comunicação. Para que uma aplicação WebRTC configure um canal de dados, seus clientes precisam trocar informações. Atualmente, o Spitfire não fornece um servidor de sinalização, porém este não é um processo complexo e você pode encontrar mais informações sobre ele aqui.
Se você deseja maximizar a velocidade do seu aplicativo, recomendamos emparelhar o Spitfire com o Sachiel, nossa estrutura de mensagens de rede rápida.
Se você deseja contribuir com documentação, exemplos de código ou correções, teremos prazer em aceitar pull request.
Para construir o C++, você pode encontrar as bibliotecas WebRTC pré-compiladas na página de lançamento aqui. Construir o WebRTC em si pode ser uma grande dor de cabeça, por isso fornecemos scripts para isso também localizados aqui.