The Advanced Computing Services Messaging Library allows Client/Server Communications and is Open Source. Each instance can either be a Server or a Client and supports TLS1.2 encryption. This library powers the network capability in Livolution!
We want to provide a library that allows custom protocols to run reliably for client/server applications. While RESTful Services are mainstream, there are still various scenarios where that is not applicable. The library is still evolving and so here is our current roadmap:
- Major Refactoring
- Add message framing
- Add chunked transfers
- Add serialisation (maybe or can be optional)
- Standardise on naming conventions (varies slightly)
- Add CI/CD pipelines
- Publish NuGet packages
- Add documentation / samples
- Write an equivalent library in Rust
The first update was to support binary data for use in all kinds of applications. After that change, a .NET framework version upgrade meant I could update the async methods from using callback methods to using the async/await keywords.
Finally, I added support for encryption a couple of years ago (TLS1.2 is forced if secure communications are enabled). In order support migration to .NET Core / Standard, C# was needed due to VB.NET always lagging behind in terms of support from new/updated frameworks etc.
The final change made in 2016 was from VB.NET to C#. Since that time I have not made any further changes to the library as it works very well and is quite performant. There were probably other bug fixes and small improvements here and there that I have forgotten to mention. In 2019 the project was converted to .NET Standard version 2.