TFTPClient
public class TFTP extends DatagramSocketClient
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.
DatagramSocketClient
,
TFTPPacket
,
TFTPPacketException
,
TFTPClient
Modifier and Type | Field | Description |
---|---|---|
static int |
ASCII_MODE |
The ascii transfer mode.
|
static int |
BINARY_MODE |
The binary transfer mode.
|
static int |
DEFAULT_PORT |
The default TFTP port according to RFC 783 is 69.
|
static int |
DEFAULT_TIMEOUT |
The default number of milliseconds to wait to receive a datagram
before timing out.
|
static int |
IMAGE_MODE |
The image transfer mode.
|
static int |
NETASCII_MODE |
The netascii transfer mode.
|
static int |
OCTET_MODE |
The octet transfer mode.
|
_isOpen_, _socket_, _socketFactory_, _timeout_
Constructor | Description |
---|---|
TFTP() |
Creates a TFTP instance with a default timeout of DEFAULT_TIMEOUT,
a null socket, and buffered operations disabled.
|
Modifier and Type | Method | Description |
---|---|---|
void |
beginBufferedOps() |
Initializes the internal buffers used by
bufferedSend() and
bufferedReceive() .
|
TFTPPacket |
bufferedReceive() |
This is a special method to perform a more efficient packet receive.
|
void |
bufferedSend(TFTPPacket packet) |
This is a special method to perform a more efficient packet send.
|
void |
discardPackets() |
This method synchronizes a connection by discarding all packets that
may be in the local socket buffer.
|
void |
endBufferedOps() |
Releases the resources used to perform buffered sends and receives.
|
static java.lang.String |
getModeName(int mode) |
Returns the TFTP string representation of a TFTP transfer mode.
|
TFTPPacket |
receive() |
Receives a TFTPPacket.
|
void |
send(TFTPPacket packet) |
Sends a TFTP packet to its destination.
|
close, getDefaultTimeout, getLocalAddress, getLocalPort, getSoTimeout, isOpen, open, open, open, setDatagramSocketFactory, setDefaultTimeout, setSoTimeout
public static final int ASCII_MODE
public static final int NETASCII_MODE
public static final int BINARY_MODE
public static final int IMAGE_MODE
public static final int OCTET_MODE
public static final int DEFAULT_TIMEOUT
public static final int DEFAULT_PORT
public TFTP()
public static final java.lang.String getModeName(int mode)
mode
- The TFTP transfer mode. One of the MODE constants.public final void discardPackets() throws java.io.IOException
java.io.IOException
- if an I/O error occurs.public final TFTPPacket bufferedReceive() throws java.io.IOException, java.io.InterruptedIOException, java.net.SocketException, TFTPPacketException
java.io.InterruptedIOException
- If a socket timeout occurs. The
Java documentation claims an InterruptedIOException is thrown
on a DatagramSocket timeout, but in practice we find a
SocketException is thrown. You should catch both to be safe.java.net.SocketException
- If a socket timeout occurs. The
Java documentation claims an InterruptedIOException is thrown
on a DatagramSocket timeout, but in practice we find a
SocketException is thrown. You should catch both to be safe.java.io.IOException
- If some other I/O error occurs.TFTPPacketException
- If an invalid TFTP packet is received.public final void bufferedSend(TFTPPacket packet) throws java.io.IOException
TFTPPacket
- The TFTP packet to send.java.io.IOException
- If some I/O error occurs.public final void beginBufferedOps()
public final void endBufferedOps()
public final void send(TFTPPacket packet) throws java.io.IOException
TFTPPacket
- The TFTP packet to send.java.io.IOException
- If some I/O error occurs.public final TFTPPacket receive() throws java.io.IOException, java.io.InterruptedIOException, java.net.SocketException, TFTPPacketException
java.io.InterruptedIOException
- If a socket timeout occurs. The
Java documentation claims an InterruptedIOException is thrown
on a DatagramSocket timeout, but in practice we find a
SocketException is thrown. You should catch both to be safe.java.net.SocketException
- If a socket timeout occurs. The
Java documentation claims an InterruptedIOException is thrown
on a DatagramSocket timeout, but in practice we find a
SocketException is thrown. You should catch both to be safe.java.io.IOException
- If some other I/O error occurs.TFTPPacketException
- If an invalid TFTP packet is received.Copyright © 1997-2002 Daniel F. Savarese. All Rights Reserved.