Я обычно использую что-то вроде этого:
static public int buildShort(byte high, byte low)
{
return ((0xFF & (int) high) * 256) + ((0xFF & (int) low));
}
Затем вы берете первые два байта вашего DatagramPacket
:
int length = buildShort(packet.getData()[0], packet.getData()[1]);
Имейте в виду, что я использовал длину как int
, потому что также short
тип данных (как и все) подписан в Java, поэтому вам нужно больше места.