À propos du projet
GameNetworkingSockets est une couche de transport multiplateforme conçue pour les jeux. Elle fournit une API orientée connexion et orientée message, plutôt que flux. La bibliothèque prend en charge les types de messages fiables et non fiables, avec fragmentation, réassemblage et retransmission automatiques pour les messages plus grands que l'unité MTU sous-jacente. Une couche de fiabilité utilise un modèle de vecteur d'accusés de réception inspiré de DCCP (RFC 4340) et QUIC, permettant un état de paquets rapporté par le récepteur et des décisions de retransmission côté émetteur. Le chiffrement par paquet utilise AES-256-GCM, avec échange de clés Curve25519 et signatures de certificats suivant les principes de conception Google QUIC. Des fonctionnalités supplémentaires incluent des outils pour simuler la latence et la perte de paquets, la mesure détaillée des statistiques, et le contrôle de blocage de tête de ligne avec partage de bande passante sur plusieurs flux de messages (voies) via priorité ou file d'attente pondérée. La connectivité pair-à-pair est facilitée par la traversée NAT utilisant Google WebRTC ICE, avec prise en charge de signalisation par plug-in et un mode de connexion symétrique. Une interface appelée SteamNetworkingMessages aide à porter du code basé sur UDP vers des scénarios P2P en spécifiant les adresses de destinataire à chaque envoi. IPv6 est pris en charge. La bibliothèque a été distribuée sur consoles, plateformes mobiles et magasins non-Steam pour une utilisation multiplateforme. Elle n'inclut pas de sérialisation d'entités de haut niveau, de codage delta ou de compression. Les en-têtes publics se trouvent dans include/steam, centrés sur l'interface ISteamNetworkingSockets. Une interface C simple permet des liaisons de langage, avec des liaisons tierces disponibles pour C#, Go et Rust. Le nom « Steam » reflète un sous-ensemble de l'API du SDK Steamworks et n'est pas requis pour l'utilisation ; le code peut être employé indépendamment. Les problèmes de sécurité peuvent être signalés de manière responsable via la politique de sécurité publiée. Les instructions de construction sont dans BUILDING.md.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.