In the code segment below,
DatagramPacket rPacket
rPacket = new DatagramPacket(new byte[2000], 2000);
.. do some socket.receive ..
what would be the difference between DatagramPacket.getData().length and DatagramPacket.getLength() in java
In the code segment below,
DatagramPacket rPacket
rPacket = new DatagramPacket(new byte[2000], 2000);
.. do some socket.receive ..
what would be the difference between DatagramPacket.getData().length and DatagramPacket.getLength() in java
The difference is that the first returns the size of the array used to construct the object, which never changes; the second returns the smaller of the length supplied to the constructor and the actual length of the smallest datagram most recently received, which changes on every receive.
From javadoc of class DataGrammPacket
getLength():
Returns the length of the data to be sent or the length of the data received.
getData():
Returns the data buffer. The data received or the data to be sent starts from the <code>offset</code> in the buffer, and runs for <code>length</code> long.
furthe you have to know the setData():
The Constructor also calls the setData()