The motivation behind NetworkComms.Net was to create a fully featured .Net C# network library with which network functionality could be effortlessly added to any .net network application. i.e. C#, VB .Net etc. We wanted to require little to no knowledge of networking to make things work first time alongside all of the desirable power features for more experienced network developers. If you check out our feature list below and tutorials we hope you will agree that these aims have been met.
NetworkComms.Net contains the following features:
- TCP (including SSL), UDP & Bluetooth (Bluetooth only on native .net 3.5+ platforms).
- IPv4 & IPv6.
- Unmanaged connections for interfacing with embedded controllers and external libraries.
- Integrated serialisation, compression & encryption.
- Data prioritisation.
- Peer discovery.
- RPC (Remote Procedure Call) capabilities (.net 3.5+).
- Connection and peer security features (i.e. DOS protection).
- Completely thread-safe.
- Extensive number of tools, useful for networking features in your applications.
- Extremely flexible usage-cases.
- Support for sending v.large (>1TB) files.
- Multiple network adapter support.
- Full logging and debugging capabilities.
Don’t see a feature you would like? Please make a feature request on our forums.
Some features at a glance
The features offered by our network library can be easily extended by creating your own extensions. The following extensions are already available for NetworkComms.Net:
- Protobuf Serialisation – Easily serialise your own custom objects without the hassle of writing your own serialisation stages.
- GZip Compression – Compression extension using the GZip algorithm.
- Distributed File System – Native high performance distributed file system. Useful for quickly distributing shared data across computing clusters.
- Remote Procedures Calls (RPC) – All of the tools required to easily add RPC functionality.
- Network data rates of 1Gbps+ tested successfully.
- 1000+ simultaneous connections tested successfully.
- .net 2+ compatible languages (C#, VB .Net, F#, J#, C++/CLI etc)
- Mono 2.10+ (Linux, Unity3D, MonoGame etc)
- iOS (Xamarin.iOS)
- Android (Xamarin.Android)
- Windows Phone 8
- Windows Store (RT & Metro)