Skip to content
This project is not maintained
C++ C# Other
Branch: master
Clone or download
Latest commit e4c7239 Feb 17, 2016

Notice It appears the underlying native udt library is no longer being maintained. There have been no new releases since Feb 2013. This library is simply a wrapper around the native library. This library has very little functionality on it's own. While I can make minor fixes to this wrapper library, I can not fix any issues discovered in the underlying native udt library, where most of the functionality resides.


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


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


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


  • 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



Supported Platforms

  • Microsoft Windows (Win32 and x64)


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


BSD LICENSE Copyright (c) 2015 Cory Thomas


You can’t perform that action at this time.