2014-11-09 62 views
1

我正在学习编程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。

有人可以告诉我,如果有办法做到这一点?

+0

认真的家伙,你在问这个问题之前是否阅读过javadoc?如果不是,为什么不呢? – 2014-11-09 01:02:28

回答

3

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