У меня есть плата, использующая коммуникацию по Modbus, и я хочу создать соединение с Android-смартфоном. В библиотеке jamod он не создает соединение, поэтому я использовал стандартный сокет tcp. Таким образом, я мог бы создать соединение, и я могу отправить массив байтов на доску. Проблема возникает, когда я хочу прочитать ответ на доску.Android - Чтение массива сокетов 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();
Этот код в потоке, который я называю на основной. Ответ платы - это байтовый массив, такой как «asdo» с шестью шестнадцатеричными байтами.
Как я могу прочитать ответ и преобразовать его в строку, чтобы я мог читать?
Спасибо!
Проблема с этим методом заключается в том, что я получаю странный ответ, а не то, что я ожидаю, и что я могу видеть на терминале. – Kerberos
Вы проверили, действительно ли эти данные отправляются * правильно *? – nKn
Да, у меня есть журнал на компьютере, который читает правильный массив. – Kerberos