Skip to content
A Simple UDP Layer for Shipping and Receiving Byte Arrays
Branch: master
Clone or download
ashoulson Merge pull request #8 from nxrighthere/patch-1
Add PeerPayload and PeerNotification public events
Latest commit 18ebdb4 Jan 12, 2018

README.md

MiniUDP: A Simple UDP Layer for Shipping and Receiving Byte Arrays

Alexander Shoulson, Ph.D. - http://ashoulson.com


Based loosely on MassiveNet, and LiteNetLib.


Build status

Supported Networking Tasks:

  • UDP traffic I/O for byte[] arrays with very little overhead
  • Connection establishment and time-out detection
  • Reliable-ordered and unreliable-sequenced message channels
  • Traffic statistic collection for ping, remote/local packet loss, and remote/local packet drop
  • Noise-based bidirectional latency and loss simulation with configurable parameters

Three delivery modes:

  • Connection Token: A custom string attached with an opening connection request. Will be delivered to the host when the connection is established and made available via an event. Intended for session token authorization.
  • Payloads: Sent immediately upon request as unreliable-sequenced. MiniUDP will not re-send but will drop payloads on arrival if they're older than the latest. Intended for synchronizing delta-encoded game state data.
  • Notifications: Queued and sent at regular intervals as reliable-ordered. MiniUDP will ensure the arrival of these messages and will re-send if necessary. Intended for extra-game messages like chat, authentication, and other bookkeeping tasks.

Wishlist:

  • Encryption and authentication

Not Supported:

  • Fragmentation/reassembly (MiniUDP enforces a hard MTU for its payload size)
  • Data serialization (MiniUDP expects a byte[] array and int length for all data)
  • RPCs
You can’t perform that action at this time.