Pour les projets ciblant x64
Install-Package Spitfirex64
Pour les projets ciblant x86
Install-Package Spitfirex86
Pour installer les utilitaires
Install-Package SpitfireUtils
Spitfire est un wrapper autour du code natif WebRTC qui permet aux applications .NET de tirer parti des canaux de données. L'objectif est de permettre aux utilisateurs de créer de superbes applications P2P et de faciliter l'utilisation de WebRTC à la manière d'un serveur.
Un canal de données WebRTC vous permet d'envoyer du texte ou des données binaires via une connexion active à un homologue. Dans le contexte d'un jeu, cela permet aux joueurs de s'envoyer des données, qu'il s'agisse de discussions textuelles ou d'informations sur l'état du jeu. Les canaux de données sont de deux types.
Des canaux fiables garantissent que les messages que vous envoyez arrivent à l'autre homologue et dans le même ordre dans lequel ils ont été envoyés. Ceci est analogue à un socket TCP.
Les canaux peu fiables n’offrent pas de telles garanties ; Il n'est pas garanti que les messages arrivent dans un ordre particulier et, en fait, il n'est pas garanti qu'ils arrivent du tout. Ceci est analogue à un socket UDP.
Pour un petit rappel sur les différences entre UDP et TCP, regardez ici
Cette bibliothèque ne prend actuellement pas en charge l'audio et la vidéo, mais si la demande est suffisante, nous pourrons envisager de l'ajouter. Pour garantir que ce code fonctionne dans tous les environnements, nous implémentons de faux périphériques audio/vidéo lors de l'initialisation.
Les canaux de données ne prennent en charge que l'envoi de minuscules fragments de données, bien qu'il soit possible d'envoyer des fichiers complets via ceux-ci, ils doivent d'abord être fragmentés. Nous fournissons quelques fonctions qui vous permettront de le faire rapidement sans copie inutile dans DataChannelUtils
. Il est recommandé de regrouper tous les messages de plus de 10 Ko pour éviter d'atteindre la limite de 16 Ko.
La signalisation est le processus de coordination de la communication. Pour qu'une application WebRTC mette en place un canal de données, ses clients doivent échanger des informations. Spitfire ne fournit actuellement pas de serveur de signalisation, mais ce n'est pas un processus complexe et vous pouvez trouver plus d'informations à ce sujet ici.
Si vous souhaitez optimiser la vitesse de votre application, nous vous recommandons d'associer Spitfire à Sachiel, notre infrastructure de messagerie réseau rapide.
Si vous souhaitez contribuer à la documentation, aux exemples de code ou aux correctifs, nous serons plus qu'heureux d'accepter les pull request.
Pour construire le C++, vous pouvez trouver les bibliothèques WebRTC précompilées sur la page de version ici. Construire WebRTC lui-même peut être un véritable casse-tête, nous fournissons donc également des scripts pour cela ici.