Windows中的串行COMM端口在关闭后仍然拥有

时间:2011-12-12 18:14:54

标签: java serial-port

我在JAVA中遇到了通信端口问题。 我正在使用Java版本1.5,因为该版本仍然可以访问Windows COMM端口(连续出版物)。

问题是命令抛出异常:

javax.comm.PortInUseException: Port currently owned by Unknown Windows Application

问题是应用程序第一次打开通信端口,然后当用户退出某个窗口时关闭通信。 但是用户可能会返回到该窗口,因此我尝试再次打开相同的端口:

我关闭:

if (puertoSerie != null) {
 puertoSerie.removeEventListener();
puertoSerie.close();
puertoSerie = null;
}

所以我添加了PortOwnershipListener

idPuerto.addPortOwnershipListener(new MyResolver());

错误说:

Somebody else has the port
Somebody else has the port

发生在:

case PORT_OWNERSHIP_REQUESTED:
if (owned) {
System.out.println("Owned ... Somebody else has the port");
} else {
System.out.println("Somebody else has the port");
}

任何想法如何解决这个问题? 最诚挚的问候

1 个答案:

答案 0 :(得分:0)

新的Java JDK 1.7还使用java.commrxtx api进行串口编程。

您可以安装它们并根据需要运行它们,并且可以使用serialPort.close();来结束连接。