我正在尝试使用串行端口在两台计算机之间进行通信,我是这个领域的新手。我需要从一台计算机(比如 A)向另一台计算机(比如 B)发送请求,并接收对所发送请求的响应。我正在使用响应更新 Java Swing 用户界面。
我正在使用jSSC库来执行此操作。我已经查看了SerialPortReader
示例,以下是我的理解。
我将不得不SerialPortEventListener
在两台计算机上实现。A 将使用该writeBytes
方法发送请求。B 将监听使用 发送的命令,SerialPortEventListener
并使用writeBytes
方法发送响应。A 将使用其实现来监听数据SerialPortEventListener
,当接收到数据时,将更新 UI。以下是我的问题。
a)我的上述观察是否正确?有没有不同的方法来做到这一点(例如,writeBytes
协议中是否存在返回响应的方法?)
b)我在几个方面读到串行端口通信可以是同步的或异步的。但是从示例中,我无法理解该代码是否实现了异步或同步通信。如何使用 jSSC 实现同步/异步通信?我不是要求实施。只是一些指导方针和可以使用的方法。
c) 消息可能会被部分传递。例如,如果我将命令作为字符串“get variableThreeValue”发送,则可能只会收到“get”或“get varia”之类的内容。(这可能会导致“get get”等消息。 ) 我该如何处理这种情况?同样,我不是要求实施。只是一些指导方针和可以使用的方法。