This is a Proof of Concept.
It is not production-ready and is meant solely to demonstrate core ideas of building a reliable messaging system on top of UDP.
ULT (UDP Like TCP) is an experimental protocol that brings TCP-like reliability to UDP-based communication.
The goal is to simulate:
- Ordered delivery
- Complete message reconstruction
- Lightweight, connectionless transmission
All built using raw UDP sockets in Node.js.
- Breaking a JSON payload into chunks
- Sending each chunk over UDP with metadata:
- chunk content
- index
- total chunk count
- Reassembling the original message on the server
- Measuring per-chunk arrival delay
- Node.js (v14+ recommended)
node server.jsnode client.jsThe client creates a JSON payload, splits it into characters, and sends them one-by-one to the server.
Each UDP message contains an array in string form:
[chunk, index, totalLength]-
Resend logic for missing chunks
-
ACK system (server ↔ client communication)
-
Chunk grouping (send multiple characters per packet)
-
Message IDs (support multiple messages simultaneously)
-
Binary protocol support (more efficient than JSON)
UDP is fast but unreliable. TCP is reliable but heavy.
ULT explores the space in between AND that gives us:
-
The speed of UDP
-
The control to define your own reliability model