在将RXTX用于多个不同的项目之后,我遇到了许多恼人的差异和问题,这些问题只能合理地归结为库中的错误 - 死锁,种族危险以及RXTX深处的监控线程库保持打开状态,防止程序关闭(即使我使用的所有端口都已关闭!)运行最新的"不稳定"版本有所帮助,但距离我称之为可靠的地方还很远,目前该项目的活动似乎相当低。
然而,寻找RXTX的免费跨平台替代方案似乎没有提出太多其他方法。
还有其他图书馆,任何人都试过更多的运气吗?我不需要并行端口支持,只需要串行,并且它不一定必须与RXTX或javax.comm
API兼容。
答案 0 :(得分:44)
我们已经转移到java-simple-serial-connector,这在当前版本0.9.0中看起来非常稳定和舒适。目前,它适用于Windows和Linux系统。我们将它用于调制解调器交互。
答案 1 :(得分:14)
也有serial-comm。
Java中的串行通信是一团糟。我在linux上使用虚拟usb串口的jSSC遇到了麻烦,但是连接了serial-comm。
RXTX很乱。
至少我认为现在这个SO问题值得一提的是串口通信java库。
答案 2 :(得分:5)
答案 3 :(得分:2)
我遇到的RXTX的一个问题是关闭端口的延迟。当使用setserial检查端口配置时,我发现了一个参数 closing_delay = 3000 。这意味着在执行close()方法后,端口关闭3秒。 RXTX会忽略将closing_delay重置为任意值。 RXTX坚持3秒延迟。
JSSC 库表现得非常满意答案 4 :(得分:1)
Serialio lib是49美元/平台/开发者席位,它可以让你在无限制的应用程序中无限制地分发,所以不会太昂贵。 Mac库在不严格的应用程序中稳定可靠,可用性/兼容性在各种Mac平台和OS / X版本中都很好。
答案 5 :(得分:1)
我使用socat配置为串口提供套接字。 缺点是波特率等给予了socat调用,它不是你可以随意改变你的程序的东西。 从好的方面来说,我可以通过网络进行连接,而无需更改我连接的IP地址。
答案 6 :(得分:0)
jSerialCom 很好! 'https://github.com/Fazecast/jSerialComm'
这里是它的维基页面:https://github.com/Fazecast/jSerialComm