我正在学习UDP编程。如何获得从UDP服务器接收的数据包的大小?
byte[] buffer = new byte[1000];
DatagramPacket packet = new DatagramPacket(buffer, buffer.length);
datagramSocket.receive(packet);
buffer = packet.getData();
在上面的代码片段中,我将缓冲区大小声明为1000字节。所以很明显,我不能通过简单地调用buffer.length
来获得大小,它在任何情况下都会返回1000。
有人能告诉我有没有办法吗?
您可以在DatagramPacket中使用getLength()方法,例如packet.getLength()
来获取数据包大小。