udt-c icon indicating copy to clipboard operation
udt-c copied to clipboard

A basic implementation of UDP-based Data Transfer protocol (UDT) in C

UDT Implementation in C

Codacy Badge

An implementation of the UDP-based Data Transfer (UDT) protocol in C. UDT is a much faster data transfer protocol than TCP and provides a socket interface to send/receive data just like any other protocol.

The documentation can be found in the header files (see include/udt.h).

How to

make        # compile
make clean  # cleanup

export LD_LIBRARY_PATH=./src/:$LD_LIBRARY_PATH  # export the library path

progs/server  # start the server
progs/client  # start the client

progs/sendfile  # start the sendfile server
progs/recvfile "file/to/get" "file/to/saveas"  # receive the file

Progress

  • [x] Implement architecture.
  • [x] Implement basic API.
  • [x] Implement handshake.
  • [x] Use threads for sender/receiver.
  • [x] Implement data packet handling.
  • [x] Implement sendfile, recvfile.
  • [ ] Implement timer and use it to send various packets.
  • [ ] Make this work with an existing UDT implementation.
  • [ ] Implement a congestion control algorithm.

Bugs, suggestions

Please report bugs, suggestions here.

References

License

MIT