每次发送我有11个字节的数据。它始终以0A 52开始,用于标识设备。剩下的就是这样:
0A 52 08 01 01 01 00 C1 20 02 59
52 Packettype
08 subtype
01 Sequence nbr
01 01 ID
00 C1 SenseT
20 SenseH
02 Status
5 level
9 PwrLvl
由于没有CR / LF,读取11个字节的最佳方法是确保它以0A 52开头,并且仍能将最后一个字节分成半字节。
感谢您的帮助。
答案 0 :(得分:0)
while((len = this.in.read(buffer,0,1))> -1)
将要读取的字节长度设置为1将解决问题。 看到: http://docs.oracle.com/javase/6/docs/api/java/io/InputStream.html#read(byte[], int, int)
这比我更好地解释了它。