.NET wrapper around the native UDT protocol library
C++ C# Other
Latest commit e4c7239 Feb 17, 2016 @dump247 Update README.md

README.md

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.

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