ReUDP
ReUDP is a reliability layer on top of unreliable UDP. It provides packet acknowledgment, heartbeats, and supports both client and server modes, ensuring reliable communication over UDP.
ReUDP was developed for Respark, an upcoming open world MMO shooter. Respark combines intense combat, strategic gameplay, and a vast, dynamic world to explore. Join our community on Discord to stay updated with the latest news and development progress.
Description
ReUDP was developed to address the need for reliable communication in multiplayer video games without the use of slow TCP. Given the nature of UDP, packet loss, and out-of-order delivery are common issues. ReUDP adds a reliability layer over UDP, ensuring that critical game data is delivered correctly and in order.
Why It's Reliable
ReUDP's reliability comes from its combination of packet acknowledgment, heartbeats to detect lost connections, and support for both client and server modes. By acknowledging received packets and resending unacknowledged ones, ReUDP ensures that all critical data reaches its destination.
Features
- Packet Acknowledgment: Ensures reliable data delivery.
- Heartbeat Mechanism: Detects and handles lost connections.
- Client and Server Modes: Supports both client-server communication patterns.
- Concurrent Handling: Utilizes multiple threads for efficient processing.
Usage
Adding ReUDP to Your Project
Add ReUDP to your Cargo.toml:
[]
= "0.0.1"
Then use it in your project:
use ;
use Duration;
use SocketAddr;
Packet Loss vs Retransmissions
ReUDP ensures reliable data delivery by retransmitting lost packets and acknowledging received ones. The heartbeat mechanism helps detect and handle lost connections, making it suitable for real-time games and other latency-sensitive applications.
License
ReUDP is licensed under the MIT License. See the LICENSE file for details.