public abstract class TFTPPacket extends Object
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.
TFTPPacketException,
TFTP| Modifier and Type | Field and Description |
|---|---|
static int |
ACKNOWLEDGEMENT
This is the actual TFTP spec identifier and is equal to 4.
|
(package private) InetAddress |
address
The host the packet is going to be sent or where it came from.
|
static int |
DATA
This is the actual TFTP spec identifier and is equal to 3.
|
static int |
ERROR
This is the actual TFTP spec identifier and is equal to 5.
|
(package private) static int |
MIN_PACKET_SIZE
The minimum size of a packet.
|
static int |
OACK
TFTP spec identifier 6.
|
(package private) int |
port
The port the packet came from or is going to.
|
static int |
READ_REQUEST
This is the actual TFTP spec identifier and is equal to 1.
|
static int |
SEGMENT_SIZE
The TFTP data packet maximum segment size in bytes.
|
(package private) int |
type
The type of packet.
|
static int |
WRITE_REQUEST
This is the actual TFTP spec identifier and is equal to 2.
|
| Constructor and Description |
|---|
TFTPPacket(int type,
InetAddress address,
int port)
This constructor is not visible outside the package.
|
| Modifier and Type | Method and Description |
|---|---|
InetAddress |
getAddress()
Gets the address of the host where the packet is going to be sent or where it came from.
|
int |
getPort()
Gets the port where the packet is going to be sent or where it came from.
|
int |
getType()
Gets the type of the packet.
|
abstract DatagramPacket |
newDatagram()
Creates a UDP datagram containing all the TFTP packet data in the proper format.
|
(package private) abstract DatagramPacket |
newDatagram(DatagramPacket datagram,
byte[] data)
This is an abstract method only available within the package for implementing efficient datagram transport by eliminating buffering.
|
static TFTPPacket |
newTFTPPacket(DatagramPacket datagram)
When you receive a datagram that you expect to be a TFTP packet, you use this factory method to create the proper TFTPPacket object encapsulating the
data contained in that datagram.
|
void |
setAddress(InetAddress address)
Sets the host address where the packet is going to be sent.
|
void |
setPort(int port)
Sets the port where the packet is going to be sent.
|
String |
toString()
For debugging
|
public static final int ACKNOWLEDGEMENT
getType() indicating an acknowledgement packet.InetAddress address
public static final int DATA
getType() indicating a data packet.public static final int ERROR
getType() indicating an error packet.static final int MIN_PACKET_SIZE
public static final int OACK
getType() indicating an options acknowledgement packet.int port
public static final int READ_REQUEST
getType() indicating a read request packet.public static final int SEGMENT_SIZE
TFTP class methods to implement their own TFTP servers or clients.int type
public static final int WRITE_REQUEST
getType() indicating a write request packet.TFTPPacket(int type,
InetAddress address,
int port)
type - The type of the packet.address - The host the packet came from or is going to be sent.port - The port the packet came from or is going to be sent.public final InetAddress getAddress()
public final int getPort()
public final int getType()
public abstract DatagramPacket newDatagram()
TFTPClient class. Under normal circumstances, you should not
have a need to call this method.abstract DatagramPacket newDatagram(DatagramPacket datagram, byte[] data)
datagram - The datagram to create.data - The buffer to store the packet and to use in the datagram.public static final TFTPPacket newTFTPPacket(DatagramPacket datagram) throws TFTPPacketException
datagram - The datagram containing a TFTP packet.TFTPPacketException - If the datagram does not contain a valid TFTP packet.public final void setAddress(InetAddress address)
address - the address to setpublic final void setPort(int port)
port - the port to set