|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--com.oroinc.net.DatagramSocketClient | +--com.oroinc.net.tftp.TFTP
The TFTP class exposes a set of methods to allow you to deal with the TFTP protocol directly, in case you want to write your own TFTP client or server. However, almost every user should only be concerend with the open() , and close() , methods. Additionally,the a setDefaultTimeout() method may be of importance for performance tuning.
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
Field Summary | |
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. |
Fields inherited from class com.oroinc.net.DatagramSocketClient |
_isOpen_, _socket_, _socketFactory_, _timeout_ |
Constructor Summary | |
TFTP()
Creates a TFTP instance with a default timeout of DEFAULT_TIMEOUT, a null socket, and buffered operations disabled. |
Method Summary | |
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. |
Methods inherited from class com.oroinc.net.DatagramSocketClient |
close, getDefaultTimeout, getLocalAddress, getLocalPort, getSoTimeout, isOpen, open, open, open, setDatagramSocketFactory, setDefaultTimeout, setSoTimeout |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
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
Constructor Detail |
public TFTP()
Method Detail |
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.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |