シリアル ポートを使用して 2 台のコンピュータ間で通信しようとしていますが、この分野は初めてです。あるコンピューター (A など) から別のコンピューター (B など) に要求を送信し、送信された要求に対する応答を受信する必要があります。応答を使用して Java Swing ユーザー インターフェイスを更新しています。
これを行うためにjSSCライブラリを使用しています。SerialPortReader
私は例を見てきましたが、以下は私の理解です。
SerialPortEventListener
両方のコンピューターにを実装する必要があります。A はwriteBytes
メソッドを使用して要求を送信します。B は を使用して送信されたコマンドをリッスンしSerialPortEventListener
、メソッドを使用しwriteBytes
て応答を送信します。は、その実装を使用してデータをリッスンし、SerialPortEventListener
データが受信されると、UI を更新します。以下は私の質問です。
a) 上記の観察は正しいですか? これを行う別の方法はありますか (たとえばwriteBytes
、応答を返すメソッドがプロトコル内に存在する可能性はありますか?)
b)シリアルポート通信は同期または非同期のいずれかである可能性があることをいくつかのペースで読みました。しかし、例からは、そのコードが非同期または同期通信を実装しているかどうかを理解できません。jSSC を使用して同期/非同期通信を実装するにはどうすればよいですか? 私は実装を求めていません。いくつかのガイドラインと使用できる方法について説明します。
c) メッセージが部分的に配信される可能性があります。たとえば、「get variableThreeValue」という文字列としてコマンドを送信すると、「get」または「get varia」のようなものだけが受信される可能性があります (これにより、「get get」などのメッセージが表示される可能性があります。. ) この種のシナリオをどのように処理できますか? 繰り返しますが、実装を求めているわけではありません。いくつかのガイドラインと使用できる方法について説明します。