0

Modbus通信を利用したボードを持っていて、Androidスマートフォンと接続したい。jamod ライブラリでは接続が作成されないため、標準の tcp ソケットを使用しました。この方法で接続を作成し、バイト配列をボードに送信できます。問題は、掲示板の回答を読みたいときに生まれます。

これはコードです:

byte[] asdo = {(byte)0x01, (byte)0x01, (byte)0x00, (byte)0x00, (byte)0x00, (byte)0x01, (byte)0xff, (byte)0xff};

DataOutputStream scrittura = new DataOutputStream(socket.getOutputStream());

scrittura.flush();

scrittura.write(asdo);

scrittura.flush();

このコードは、メインで呼び出すスレッドに入ります。ボードの応答は、16 進バイト 6 バイトの「asdo」のようなバイト配列です。

返信を読んで文字列に変換して読めるようにするにはどうすればよいですか?

ありがとう!

4

2 に答える 2

2

予期される応答のサイズが事前にわかっている場合は、実際に読み取られたバイト数を返す別のDataInputStream.readFully();方法を使用する必要があります。DataInputStream.read(byte[]),

于 2014-02-13T22:39:02.647 に答える