Skip to content

whtghst1/udt-net

 
 

Repository files navigation

Notice* This is a fork of the original UDT-NET library. Niether of them have been maintained in quite some time. The native udt library has not been maintained since 2013 and this libary has not been updated since 2015. This library is simply a .NET wrapper around the native library. I have structred the code to include the native library source to faciliate a cleaner way to build. I have also updated both the native libary and the this libary to use Visual Studio 2017. I also updated the Windows SDK target to be Windows 10.

Overview

UDT is a reliable UDP based application level data transport protocol for distributed data intensive applications over wide area high-speed networks. UDT uses UDP to transfer bulk data with its own reliability control and congestion control mechanisms. The new protocol can transfer data at a much higher speed than TCP does. UDT is also a highly configurable framework that can accommodate various congestion control algorithms.

Release Notes

Features

  • .Net API on top of the native UDT API
  • Support for custom congestion control algorithms written in managed code

Usage

The code is in the Udt namespace and Udt.Socket is the interface to the native UDT socket library. The Udt.Socket API matches closely with the System.Net.Sockets.Socket API.

Example: Send Receive File

Socket Performance Info

TODO

  • Missing some properties in Packet (from CPacket)
  • CongestionControl.SendCustomMessage (CCC::sendCustomMsg)
  • CongestionControl.SetUserParameter (CCC::setUserParam)
  • Something similar to TcpClient and TcpListener
  • Asynchronous API
  • More Documentation

Requirements

Dependencies

Supported Platforms

  • Microsoft Windows (Win32 and x64)

Developers

This project is implemented in Managed C++ and requires Microsoft Visual C++ 2010. Building the demo apps and unit tests requires C# compiler.

Build Project

License

BSD LICENSE Copyright (c) 2015 Cory Thomas

See LICENSE

About

.NET wrapper around the native UDT protocol library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 68.9%
  • C# 20.9%
  • HTML 10.0%
  • Other 0.2%