0
나는 rs232를 통해 장치에 연결하는 프로그램을 만들었습니다. 연결을 닫고 동일한 응용 프로그램에서 다시 열려고 시도 할 때까지 모든 것이 완벽하게 작동합니다. 다음 예외가 발생합니다.javax.comm.portinuseexception 현재 소유하고있는 포트
javax.comm.PortInUseException: Port currently owned by controller.Application
at javax.comm.CommPortIdentifier.open(CommPortIdentifier.java:310)
at controller.Application.connect(Application.java:30)
at controller.Application.send(Application.java:63)
응용 프로그램을 완전히 닫은 후 다시 시작하면 포트에 다시 연결할 수 있습니다. 하지만 내 전체 응용 프로그램을 닫지 않고 해당 포트를 다시 사용해야합니다. 나는 다음과 같이 내 포트를 닫으려면 시도했지만 내가 원하는대로 작동하지 않습니다 :
public void disconnect() {
if (serialPort != null) {
try {
in.close();
out.close();
serialPort.removeEventListener();
serialPort.close();
commPort.close();
} catch (Exception ex) {
System.out.println("When closing: " + ex);
}
}
}
방법 또는 내가이 예외를 피하기 위해 내 포트를 닫을 수해야합니까?