2014-11-09 65 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())來獲取數據包大小。