Overview of GameNetworkingSockets features
masterGameNetworkingSockets is a transport layer designed for games. It provides a connection-oriented API (similar to TCP) but is message-oriented (similar to UDP).
Key features include:
- Reliability Layer: Supports both reliable and unreliable message types. It uses an 'ack vector' model (similar to Google QUIC) for efficient retransmission and handles fragmentation/reassembly for messages larger than the MTU.
- Security: Implements AES-GCM-256 per packet and Curve25519 for key exchange and certificate signatures.
- Traffic Control: Supports head-of-line blocking control and bandwidth sharing via multiple message 'lanes' using strict priority or weighted fair queueing.
- P2P & NAT Traversal: Supports peer-to-peer networking with NAT traversal via Google WebRTC's ICE implementation. It includes the
ISteamNetworkingMessagesinterface for porting UDP-based code to P2P. - Simulation Tools: Includes tools for simulating packet latency and loss, along with detailed statistics measurement.
- IPv6 Support: Full support for IPv6.