Я использую RXTX для связи с последовательным портом.
Это мой проект:
В открытом методе я даю имя приложения "Test"
public void connect(String portName) throws Exception {
CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(portName);
if (portIdentifier.isCurrentlyOwned()) {
System.out.println("port in use");
} else {
SerialPort serialPort = (SerialPort) portIdentifier.open("Test", 2000);
serialPort.setSerialPortParams( 9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_ODD);
CommPortSender.setWriterStream(serialPort.getOutputStream());
new CommPortReceiver(serialPort.getInputStream()).start();
// System.out.println(serialPort.get);
}
}
это детали параметров:
public CommPort open(java.lang.String appname,int timeout)
throws PortInUseException
appname - Имя приложения, выполняющего этот вызов. Это имя станет владельцем порта. Полезно при разрешении спора о праве собственности.
timeout - Время в миллисекундах для блокировки ожидания открытия порта.
Как я могу получить имя приложения, которое я дал при открытом методе в
следующая функция:
private void onMessage() {
if (tail!=0) {
String message = getMessage(buffer, tail);
System.out.println("received message: " + message);
tail = 0;
}
}
Я ищу Google, но не знаю, как описать эту проблему. Пожалуйста помоги.
Заранее спасибо и, пожалуйста, прости мой плохой английский.