public final class TFTPDataPacket extends TFTPPacket
Details regarding the TFTP protocol and the format of TFTP packets can be found in RFC 783. But the point of these classes is to keep you from having to
worry about the internals. Additionally, only very few people should have to care about any of the TFTPPacket classes or derived classes. Almost all users
should only be concerned with the TFTPClient class receiveFile() and sendFile() methods.
TFTPPacket,
TFTPPacketException,
TFTP| Modifier and Type | Field and Description |
|---|---|
(package private) int |
blockNumber
The block number of the packet.
|
static int |
MAX_DATA_LENGTH
The maximum number of bytes in a TFTP data packet (512)
|
static int |
MIN_DATA_LENGTH
The minimum number of bytes in a TFTP data packet (0)
|
ACKNOWLEDGEMENT, address, DATA, ERROR, MIN_PACKET_SIZE, OACK, port, READ_REQUEST, SEGMENT_SIZE, type, WRITE_REQUEST| Constructor and Description |
|---|
TFTPDataPacket(DatagramPacket datagram)
Creates a data packet based from a received datagram.
|
TFTPDataPacket(InetAddress destination,
int port,
int blockNumber,
byte[] data)
Creates a data packet to be sent to a host at a given port with a given block number.
|
TFTPDataPacket(InetAddress destination,
int port,
int blockNumber,
byte[] data,
int offset,
int length)
Creates a data packet to be sent to a host at a given port with a given block number.
|
| Modifier and Type | Method and Description |
|---|---|
int |
getBlockNumber()
Gets the block number of the data packet.
|
byte[] |
getData()
Gets the byte array containing the packet data.
|
int |
getDataLength()
Gets the length of the data part of the data packet.
|
int |
getDataOffset()
Gets the offset into the byte array where the packet data actually starts.
|
DatagramPacket |
newDatagram()
Creates a UDP datagram containing all the TFTP data packet data in the proper format.
|
(package private) DatagramPacket |
newDatagram(DatagramPacket datagram,
byte[] data)
This is a method only available within the package for implementing efficient datagram transport by eliminating buffering.
|
void |
setBlockNumber(int blockNumber)
Sets the block number of the data packet.
|
void |
setData(byte[] data,
int offset,
int length)
Sets the data for the data packet.
|
String |
toString()
For debugging
|
getAddress, getPort, getType, newTFTPPacket, setAddress, setPortint blockNumber
public static final int MAX_DATA_LENGTH
public static final int MIN_DATA_LENGTH
TFTPDataPacket(DatagramPacket datagram) throws TFTPPacketException
datagram - The datagram containing the received data.TFTPPacketException - If the datagram isn't a valid TFTP data packet.public TFTPDataPacket(InetAddress destination, int port, int blockNumber, byte[] data)
destination - The host to which the packet is going to be sent.port - The port to which the packet is going to be sent.blockNumber - The block number of the data.data - The byte array containing the data.public TFTPDataPacket(InetAddress destination, int port, int blockNumber, byte[] data, int offset, int length)
destination - The host to which the packet is going to be sent.port - The port to which the packet is going to be sent.blockNumber - The block number of the data.data - The byte array containing the data.offset - The offset into the array where the data starts.length - The length of the data.public int getBlockNumber()
public byte[] getData()
public int getDataLength()
public int getDataOffset()
public DatagramPacket newDatagram()
TFTPClient class. Under normal circumstances, you should not have
a need to call this method.newDatagram in class TFTPPacketDatagramPacket newDatagram(DatagramPacket datagram, byte[] data)
newDatagram in class TFTPPacketdatagram - The datagram to create.data - The buffer to store the packet and to use in the datagram.public void setBlockNumber(int blockNumber)
blockNumber - the number to setpublic void setData(byte[] data,
int offset,
int length)
data - The byte array containing the data.offset - The offset into the array where the data starts.length - The length of the data.public String toString()
toString in class TFTPPacket