org.apache.commons.net.telnet

Class TelnetClient

Known Direct Subclasses:
FTP

public class TelnetClient
extends org.apache.commons.net.telnet.Telnet

The TelnetClient class implements the simple network virtual terminal (NVT) for the Telnet protocol according to RFC 854. It does not implement any of the extra Telnet options because it is meant to be used within a Java program providing automated access to Telnet accessible resources.

The class can be used by first connecting to a server using the SocketClient connect method. Then an InputStream and OutputStream for sending and receiving data over the Telnet connection can be obtained by using the getInputStream() and getOutputStream() methods. When you finish using the streams, you must call disconnect rather than simply closing the streams.

Field Summary

protected boolean
readerThread

Fields inherited from class org.apache.commons.net.telnet.Telnet

TERMINAL_TYPE, TERMINAL_TYPE_IS, TERMINAL_TYPE_SEND

Fields inherited from class org.apache.commons.net.SocketClient

NETASCII_EOL, _defaultPort_, _input_, _isConnected_, _output_, _socketFactory_, _socket_, _timeout_

Constructor Summary

TelnetClient()
Default TelnetClient constructor.
TelnetClient(String termtype)

Method Summary

protected void
_connectAction_()
Handles special connection requirements.
void
addOptionHandler(TelnetOptionHandler opthand)
Registers a new TelnetOptionHandler for this telnet client to use.
void
deleteOptionHandler(int optcode)
Unregisters a TelnetOptionHandler.
void
disconnect()
Disconnects the telnet session, closing the input and output streams as well as the socket.
InputStream
getInputStream()
Returns the telnet connection input stream.
boolean
getLocalOptionState(int option)
Returns the state of the option on the local side.
OutputStream
getOutputStream()
Returns the telnet connection output stream.
boolean
getReaderThread()
Gets the status of the reader thread.
boolean
getRemoteOptionState(int option)
Returns the state of the option on the remote side.
void
registerNotifHandler(TelnetNotificationHandler notifhand)
Registers a notification handler to which will be sent notifications of received telnet option negotiation commands.
void
registerSpyStream(OutputStream spystream)
Registers an OutputStream for spying what's going on in the TelnetClient session.
boolean
sendAYT(long timeout)
Sends an Are You There sequence and waits for the result.
void
setReaderThread(boolean flag)
Sets the status of the reader thread.
void
stopSpyStream()
Stops spying this TelnetClient.
void
unregisterNotifHandler()
Unregisters the current notification handler.

Methods inherited from class org.apache.commons.net.telnet.Telnet

_connectAction_, registerNotifHandler, unregisterNotifHandler

Methods inherited from class org.apache.commons.net.SocketClient

_connectAction_, connect, connect, connect, connect, connect, connect, disconnect, getDefaultPort, getDefaultTimeout, getLocalAddress, getLocalPort, getRemoteAddress, getRemotePort, getSoLinger, getSoTimeout, getTcpNoDelay, isConnected, setDefaultPort, setDefaultTimeout, setSoLinger, setSoTimeout, setSocketFactory, setTcpNoDelay, verifyRemote

Field Details

readerThread

protected boolean readerThread

Constructor Details

TelnetClient

public TelnetClient()
Default TelnetClient constructor.

TelnetClient

public TelnetClient(String termtype)

Method Details

_connectAction_

protected void _connectAction_()
            throws IOException
Handles special connection requirements.

Overrides:
_connectAction_ in interface org.apache.commons.net.telnet.Telnet

addOptionHandler

public void addOptionHandler(TelnetOptionHandler opthand)
            throws InvalidTelnetOptionException
Registers a new TelnetOptionHandler for this telnet client to use.

Parameters:
opthand - - option handler to be registered.

deleteOptionHandler

public void deleteOptionHandler(int optcode)
            throws InvalidTelnetOptionException
Unregisters a TelnetOptionHandler.

Parameters:
optcode - - Code of the option to be unregistered.

disconnect

public void disconnect()
            throws IOException
Disconnects the telnet session, closing the input and output streams as well as the socket. If you have references to the input and output streams of the telnet connection, you should not close them yourself, but rather call disconnect to properly close the connection.
Overrides:
disconnect in interface SocketClient

getInputStream

public InputStream getInputStream()
Returns:
The telnet connection input stream.

getLocalOptionState

public boolean getLocalOptionState(int option)
Returns the state of the option on the local side.

Parameters:
option - - Option to be checked.

Returns:
The state of the option on the local side.

getOutputStream

public OutputStream getOutputStream()
Returns:
The telnet connection output stream.

getReaderThread

public boolean getReaderThread()
Gets the status of the reader thread.

Returns:
true if the reader thread is on, false otherwise

getRemoteOptionState

public boolean getRemoteOptionState(int option)
Returns the state of the option on the remote side.

Parameters:
option - - Option to be checked.

Returns:
The state of the option on the remote side.

registerNotifHandler

public void registerNotifHandler(TelnetNotificationHandler notifhand)
Registers a notification handler to which will be sent notifications of received telnet option negotiation commands.

Overrides:
registerNotifHandler in interface org.apache.commons.net.telnet.Telnet
Parameters:
notifhand - - TelnetNotificationHandler to be registered

registerSpyStream

public void registerSpyStream(OutputStream spystream)
Registers an OutputStream for spying what's going on in the TelnetClient session.

Parameters:
spystream - - OutputStream on which session activity will be echoed.

sendAYT

public boolean sendAYT(long timeout)
            throws IOException,
                   IllegalArgumentException,
                   InterruptedException
Sends an Are You There sequence and waits for the result.

Parameters:
timeout - - Time to wait for a response (millis.)

Returns:
true if AYT received a response, false otherwise

setReaderThread

public void setReaderThread(boolean flag)
Sets the status of the reader thread. The reader thread status will apply to all subsequent connections

Parameters:
flag - - true switches the reader thread on, false switches it off

stopSpyStream

public void stopSpyStream()
Stops spying this TelnetClient.


unregisterNotifHandler

public void unregisterNotifHandler()
Unregisters the current notification handler.

Overrides:
unregisterNotifHandler in interface org.apache.commons.net.telnet.Telnet