Как создать виртуальный последовательный порт, используя Java

Я пытался с TelnetSerialPort и библиотекой jSSC создать виртуальный последовательный порт, но я не буду работать. Он не создает виртуальный последовательный порт, он использует существующий последовательный порт для связи.

Это моя программа, использующая библиотеку jSSc.

public class VirtualSerialPort 
{
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) 
    {
        SerialPort serialPort = new SerialPort("COM12");
        try 
        {
            System.out.println("Port opened: " + serialPort.openPort());
            System.out.println("Params setted: " + serialPort.setParams(9600, 8, 1, 0));
            System.out.println("\"Hello World!!!\" successfully writen to port: " + serialPort.writeBytes("Hello World!!!".getBytes()));
            System.out.println("Port closed: " + serialPort.closePort());
        }
        catch (SerialPortException ex)
        {
            System.out.println(ex);
        }
    }
}

это дает следующий вывод

Port opened: false
jssc.SerialPortException: Port name - EMPTY; Method name - setParams(); Exception type - Port not opened.

2 ответа

Решение

Я предполагаю, что вы используете Windows на основе идентификатора COM-порта. В Windows вы должны получить доступ к COM-портам, которые 10 или выше с \\.\COMn запись (где n - номер вашего COM-порта). Попробуйте изменить свой код на это (обратите внимание, что количество \ символы, чтобы он отображался вместо запуска escape-последовательности):

SerialPort serialPort = new SerialPort("\\\\.\\COM12");

Насколько я понимаю, JSSC будет подключаться к существующему последовательному порту. Это не создаст виртуальный последовательный порт. Если вы хотите использовать виртуальный последовательный порт, вам следует использовать эмулятор, а затем использовать JSSC для подключения этого виртуального порта.

Ссылка: отправка и получение строк из COM-порта через jSSC в Java: http://www.codeproject.com/Tips/801262/Sending-and-receiving-strings-from-COM-port-via-jS

Другие вопросы по тегам