.net - .Net 中的低延迟串行通信

标签 .net serial-port communication low-latency

我一直在研究各种第三方库和 .Net 中低延迟串行通信的方法。我已经读了足够多的书,现在我已经完成了一个完整的循环,并且由于各种相互矛盾的意见,我知道的和刚开始时一样少。

例如,框架中的功能被排除在外,因为一些令人信服的文章指出:“微软提供的解决方案在框架版本之间不稳定,并且缺乏功能。”

我发现有文章抨击了许多旧的基于 COM 的库。由于垃圾收集,我发现有文章抨击整个低延迟 .Net 应用程序的想法。

我还阅读了一些文章,这些文章展示了出于低延迟通信目的的 P/Invoking Windows API 功能是 Not Acceptable 。

这排除了我能想到的任何方法!

我真的很感激那些去过那里/做过那种经历的人的话。理想情况下,我可以找到一个可靠的库/合作伙伴,而不必自己构建通信库。我有以下简单的目标:

  • 持续低延迟串行
    C#/VB.Net 中的通信
  • 32/64 位
  • 有据可查(如果解决方案是第 3 方)
  • 垃圾收集相对不受影响(通信和延迟方面)。
  • 灵活(我不知道将来要与什么接口(interface)!)我唯一确定的要求是我需要能够与许多不同的工业设备接口(interface),例如基于 RS485 的线性执行器、串行/微 Controller 基于仪表和 ModBus(也是 RS485)设备。

  • 非常感谢任何可能消除我的困惑的评论、想法、想法或文章链接!

    最佳答案

    延迟在现代机器上不是问题。串行端口非常慢,19.2 千波特是花生,.NET SerialPort 类可以很好地处理它们。 DataReceived 事件由线程池线程异步传递,该线程使用 WaitCommEvent() 执行阻塞等待,您不能比这更快。

    关于.net - .Net 中的低延迟串行通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2718450/

    相关文章:

    c# - 在 .net 控制台应用程序中显示消息框

    .net - 检查 SSRS 报告自定义代码中的 Active Directory 组成员身份表

    .net - 日志记录框架和多线程兼容性

    java - XCode (Objective C) 和 Java RMI 之间的进程间通信

    Java套接字服务器、PHP套接字客户端;通信正常,但是 PHP 'echoes' 数据仅在套接字连接关闭后

    iPhone 到 iPhone 通信

    c# - 从另一个项目中删除一组项目的最快方法是什么?

    c# - c#/net/中的串行通信编程结构

    c++ - 如何通过串行端口发送请求从目录中检索数据?

    windows - 设备被误检测为串行鼠标