簡體   English   中英

Android-讀取tcp套接字數組字節

[英]Android - Read tcp socket array bytes

我有一個使用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();

這段代碼進入了我在主線程中調用的線程。 董事會的答復是一個字節數組,如“ asdo”,具有六個十六進制字節。

如何閱讀回復並將其轉換為字符串以便閱讀?

謝謝!

由於您具有byte[]數據(數組),因此有一種簡單的方法將數據直接讀取為byte[]

InputStream stream = socket.getInputStream();
byte[] data = new byte[30];
int count = stream.read(data);

這將立即讀取此內容,並返回讀取的出現次數。

如果您事先知道預期答復的大小,則應使用DataInputStream.readFully(); 否則為DataInputStream.read(byte[]),它將返回給您實際讀取的字節數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM