我在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");
}
任何想法如何解决这个问题? 最诚挚的问候
答案 0 :(得分:0)
新的Java JDK 1.7还使用java.comm
和rxtx
api进行串口编程。
您可以安装它们并根据需要运行它们,并且可以使用serialPort.close();
来结束连接。