[英]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.