6

我有一个系统,它有一些通过虚拟 COM 端口与之通信的设备。随着时间的推移,COM 端口号会发生变化。我编写了一些代码来搜索这些设备的新 COM 端口号并记住它们。这工作正常。

我的问题是定义 COM 端口号搜索范围。我在 Microsoft KB 中发现, Windows NT 操作系统上通常(默认情况下)有 256 个 COM 端口的限制。他们还指定这是可配置的,并且没有什么可以阻止系统具有非常不同的最大 COM 端口号。

我想知道是否有办法以编程方式知道 COM 端口号范围。显然,如果我让系统只搜索 2⁸ 范围,那么它所花费的时间将比搜索 2¹⁶ 范围要短得多!但是,如果运行我的应用程序的系统设置为支持超过 2⁸ 的 COM 端口号,那么在某些时候,应用程序肯定会开始一遍又一遍地失败,直到 COM 端口号分配循环回 COM0(或者它是 COM1?)。如果不需要太多巫术,我想避免这种情况。

我主要使用 Java,但欢迎任何想法。

4

0 回答 0