ENet supports multiple in-order streams of data over UDP, and allows you to decide on reliability on a per-packet basis. Both client-server and peer-to-peer architectures are supported.
ENet for C# wraps the C-language ENet networking library. 32- and 64-bit Windows and MacOS DLLs are included. On Linux, install the libenet1a package (1.3.3 or newer).

Install-Package ENet -Version
dotnet add package ENet --version
<PackageReference Include="ENet" Version="" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ENet --version
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes (April 24, 2013):
MacOS support! A universal binary, libenet.dylib, is included.
Linux support! Specifically...
libenet.so.1 (package libenet1a) is now searched for, in addition to the Windows DLLs.
The earlier ENet 1.3.3 should work with this version, except for Peer's SetPingInterval and SetTimeouts methods.
Implemented a workaround to ENet 1.3.6 EINTR (Unix signals) behavior.
Implemented a workaround to Mono P/Invoke bug 11899.
Special thanks to Random for testing this for me. (February 27, 2013):
Added Packet.Freed event.
Added Packet.GetUserData/SetUserData methods.
Added another Packet.Initialize overload.
Added Packet.ReferenceCount property.
Added Peer.Host property.
Implemented IList<byte> on Packet. Mainly this is useful for the indexer. February 24, 2013:
64-bit support!
It is no longer necessary to call Library.Initialize.
1.3.6 February 23, 2013:
Updated the binding to support ENet 1.3.6.
Added SetPingInterval and SetTimeouts methods to Peer.
Added locking around Library.Initialize/Deinitialize.
Miscellaneous minor improvements.


This package has no dependencies.

GitHub repositories (0)

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated 2,183 4/24/2013 633 2/27/2013 585 2/24/2013
1.3.6 590 2/23/2013