Я пытаюсь установить связь между двумя компьютерами, используя последовательный порт, и я новичок в этой области. Мне нужно отправлять запросы с одного компьютера (скажем, A) на другой (скажем, B) и получать ответы на отправленные запросы. Я обновляю пользовательский интерфейс Java Swing ответами.
Для этого я использую библиотеку jSSC. Я просмотрел SerialPortReader
примеры и ниже привожу понимание.
Мне придется реализовать SerialPortEventListener
на обоих компьютерах. Для отправки запросов будет использоваться метод writeBytes
. B будет прослушивать команды, отправленные с помощью SerialPortEventListener
, и будет использовать метод writeBytes
для отправки ответа. A будет прослушивать данные, используя свою реализацию SerialPortEventListener
, и когда данные будут получены, обновит пользовательский интерфейс. Далее мои вопросы.
а) Верно ли мое вышеприведенное наблюдение? Есть ли другой способ сделать это (например, возможно ли, что в протоколе существует метод writeBytes
, который будет возвращать ответ?)
б) Я прочитал несколько раз, что связь через последовательный порт может быть как синхронной, так и асинхронной. Но из примеров я не могу понять, реализован ли в этом коде асинхронный или синхронный обмен данными. Как можно реализовать синхронную/асинхронную связь с использованием jSSC? Я не прошу реализации. Просто некоторые рекомендации и какие методы можно использовать.
c) Возможно, что сообщения будут доставлены частично. Например, если я отправлю команду в виде строки «get variableThreeValue», возможно, будет получено только «get» или что-то вроде «get varia» (это может привести к сообщениям типа «get get» и т. д.). ) Как я могу справиться с таким сценарием? Опять же, я не прошу реализации. Просто некоторые рекомендации и какие методы можно использовать.