我必须创建一个数据包结构以通过websocket发送,如下所示:-
现在上面的3点包含一个字节数组,该数组又分为2部分:-
现在,我如何确保数据包结构保持完整,因为在读取数据包时,它必须采用上述格式。正在节点中读取它。
ByteArrayOutputStream bOut = new ByteArrayOutputStream();
int c;
try {
bOut.write((byte)(id1));
bOut.write((byte)(id2));
bOut.write((byte)(byteArrayLen));
bOut.write(byteArray);
ByteArrayInputStream bInput = new ByteArrayInputStream(bOut.toByteArray());
while(( c = bInput.read())!= -1) {
Log.d(TAG, "hello read" + c);
}
} catch (Exception e) {
Log.e(TAG, "error while creating packet", e);
}
我尝试了上面的代码。我不确定是否会始终保持数据包结构完整。请提供解决方案或对我如何实现这一要求进行解释。 我也错过了一些位操作,其中我将不得不移位位以确保前8个字节始终是标识符。请也研究它或提供一个链接,让我可以阅读更多有关它的信息并实现它。