首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javax.comm:设备断开连接时出错

javax.comm:设备断开连接时出错
EN

Stack Overflow用户
提问于 2009-04-22 19:28:33
回答 3查看 2.5K关注 0票数 2

我有一个使用javax.comm从com端口读取数据的应用程序。

我遇到的问题是,如果我正在读取的设备意外断开连接,我会在控制台中收到一个错误,显示为"WaitCommEvent: error 5“

我已经环顾四周,找不到任何关于这方面的有用信息。我已经将所有的notifyOn*方法设置为true,所以我认为我应该接收所有的事件,但是我没有捕捉到这个事件。

打印出来的错误消息不是来自我的代码中的任何地方,所以它一定在javax.comm包中的某个地方。谁能告诉我如何处理这个错误,这样当它发生时,我可以正确地关闭com端口?

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-04-23 14:15:51

如果有人对此感兴趣,我找到了一个解决方案。我使用的是rxtx,但为了解决这个问题,我将其替换为javax.comm api (http://rxtx.qbang.org/wiki/index.php/Main_Page)。不需要修改代码,但现在当设备断开连接时,我会收到一个IOException,消息是“底层输入流返回零字节”。我处理这条消息,并启动一个新的主题。在新线程中,我调用了port.close()和port.removeEventListener()。这两个调用必须在新线程中完成,否则应用程序将挂起。

票数 2
EN

Stack Overflow用户

发布于 2010-12-09 00:31:20

我们花了很多时间让javax.comm正常工作,发现在我们的例子中,是COM驱动程序导致了问题(在几台Windows7电脑上)。如果驱动程序也是您的问题,而您使用的是Windows7或Vista (并且您使用的是多产/Logilink系列电缆),那么这可能是解决方案:) http://www.akosta.dk/category/technical-notes/

希望你能让它工作!

票数 2
EN

Stack Overflow用户

发布于 2011-03-05 23:44:52

这个问题已经有近2年的历史了,但也许另一个问题需要一个可能的解决方案:

我在使用java.comm时遇到了同样的问题:"WaitCommEvent: Error 5“如果COM端口已断开连接,但SerialPort对象未关闭,则会多次出现此消息。

我的解决方案是,如果读/写SerialPort的IO流抛出异常,则关闭SerialPort对象。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/778789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档