主要是看setData的说明,你就明白了。
/**
* Set the data buffer for this packet. This sets the
* data, length and offset of the packet.
*
* @param buf the buffer to set for this packet
*
* @param offset the offset into the data
*
* @param length the length of the data
* and/or the length of the buffer used to receive data
*
* @exception NullPointerException if the argument is null
*
* @see #getData
* @see #getOffset
* @see #getLength
*
* @since 1.2
*/
public synchronized void setData(byte[] buf, int offset, int length)
还有,他是把每个数据包放在一个buff数组里,还是一个数据包对应一个数组,buffer.length只是限制了每个数组的最大长度,若超出则丢包