如何保留数据包字段?

时间:2011-06-30 00:53:30

标签: java networking

在java中我放了一个像这样的字节。如何保留接下来的3个字节?我听说最好以4字节的倍数打包数据

final byte PACKET_TYPE = 3;
bBuffer.put(PACKET_TYPE);

另外,如果我想将字符串数据字段修复为48个字节,那么如果字符串数据小于48个字节,我该如何处理?我不想添加字符串的大小...

提前致谢...

2 个答案:

答案 0 :(得分:1)

总之,填充:

final byte PACKET_TYPE = 3;
final byte PAD_BYTE = 0;
bBuffer.put(PACKET_TYPE);
bBuffer.put(PAD_BYTE);
bBuffer.put(PAD_BYTE);
bBuffer.put(PAD_BYTE);

对于固定宽度的字符串字段,您可以填充空字节(字节为0),当然,假设字符串本身永远不会包含这样的字节。

答案 1 :(得分:0)

如果我要在那个地方写一个int,我只是标记缓冲区,写一个int(任何旧的int,无所谓),然后当我完成后,回到标记,实际上用正确的值再次写它。