I have been researching various third party libraries and approaches to low latency serial communications in .Net. I've read enough that I have now come full circle and know as little as I did when I started due to the variety of conflicting opinions.
For example, the functionality in the Framework was ruled out due to some convincing articles stating: "that the Microsoft provided solution has not been stable across framework versions and is lacking in functionality."
I have found articles bashing many of the older COM based libraries. I have found articles bashing the idea of a low latency .Net app as a whole due to garbage collection.
I have also read articles demonstrating how P/Invoking Windows API functionality for the purpose of low latency communication is unacceptable.
THIS RULES OUT JUST ABOUT ANY APPROACH I CAN THINK OF!
I would really appreciate some words from those with been there / done that experience. Ideally, I could locate a solid library / partner and not have to build the communications library myself. I have the following simple objectives:
- Sustained low latency serial communication in C# / VB.Net
- 32/64 bit
- Well documented (if the solution is 3rd party)
- Relatively unimpacted (communication and latency wise) by garbage collection .
- Flexible (I have no idea what I will have to interface with in the future!) The only requirement that I have for certain is that I need to be able to interface with many different industrial devices such as RS485 based linear actuators, serial / microcontroller based gauges, and ModBus (also RS485) devices.
Any comments, ideas, thoughts or links to articles that may iron out my confusion are much appreciated!