繁体   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