如何衡量刚刚收到的UDP数据包大小?

时间:2014-11-09 00:50:25

标签: java sockets udp

我正在学习UDP编程。我如何获得从UDP服务器收到的数据包的大小?

byte[] buffer = new byte[1000];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
datagramSocket.receive(packet);
buffer = packet.getData();

在上面的代码片段中,我将缓冲区大小声明为1000字节。所以很明显,我无法通过简单地调用buffer.length来获得大小,在任何情况下都会返回1000.

有人可以告诉我是否有办法吗?

1 个答案:

答案 0 :(得分:3)

您可以使用DatagramPacket中的getLength()方法(例如packet.getLength())来获取数据包大小。