Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.net.telnet
Class TelnetClient

    java.lang.Object
      org.apache.commons.net.SocketClient
          org.apache.commons.net.telnet.TelnetClient

    public class TelnetClient

extends SocketClient

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.

Author:
  Daniel F. Savarese, Bruno D'Avanzo

Field Summary
`protected boolean` | `readerThread`
`protected static int` | `TERMINAL_TYPE` Terminal type option
`protected static int` | `TERMINAL_TYPE_IS` Is (for subnegotiation)
`protected static int` | `TERMINAL_TYPE_SEND` Send (for subnegotiation)

Fields inherited from class org.apache.commons.net.SocketClient
`_defaultPort_, _input_, _output_, _serverSocketFactory_, _socket_, _socketFactory_, _timeout_, connectTimeout, NETASCII_EOL`

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.SocketClient
`connect, connect, connect, connect, connect, connect, getConnectTimeout, getDefaultPort, getDefaultTimeout, getKeepAlive, getLocalAddress, getLocalPort, getRemoteAddress, getRemotePort, getServerSocketFactory, getSoLinger, getSoTimeout, getTcpNoDelay, isConnected, setConnectTimeout, setDefaultPort, setDefaultTimeout, setKeepAlive, setReceiveBufferSize, setSendBufferSize, setServerSocketFactory, setSocketFactory, setSoLinger, setSoTimeout, setTcpNoDelay, verifyRemote`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### readerThread

    protected boolean readerThread

### TERMINAL_TYPE

    protected static final int TERMINAL_TYPE

  Terminal type option

  See Also:
    Constant Field Values

### TERMINAL_TYPE_SEND

    protected static final int TERMINAL_TYPE_SEND

  Send (for subnegotiation)

  See Also:
    Constant Field Values

### TERMINAL_TYPE_IS

    protected static final int TERMINAL_TYPE_IS

  Is (for subnegotiation)

  See Also:
    Constant Field Values

Constructor Detail

### TelnetClient

    public TelnetClient()

  Default TelnetClient constructor.

### TelnetClient

    public TelnetClient(String termtype)

Method Detail

### _connectAction_

    protected void _connectAction_()
                            throws IOException

  Handles special connection requirements.

  Throws:
    `IOException` - If an error occurs during connection setup.

### 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 class `SocketClient`
  Throws:
    `IOException` - If there is an error closing the socket.

### getOutputStream

    public OutputStream getOutputStream()

  Returns the telnet connection output stream. You should not close the stream when you finish with it. Rather, you should call `disconnect` .

  Returns:
    The telnet connection output stream.

### getInputStream

    public InputStream getInputStream()

  Returns the telnet connection input stream. You should not close the stream when you finish with it. Rather, you should call `disconnect` .

  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.

### 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.

### 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

  Throws:
    `InterruptedException`
    `IllegalArgumentException`
    `IOException`

### 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.

  Throws:
    `InvalidTelnetOptionException`

### deleteOptionHandler

    public void deleteOptionHandler(int optcode)
                             throws InvalidTelnetOptionException

  Unregisters a TelnetOptionHandler.

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

  Throws:
    `InvalidTelnetOptionException`

### 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.

### stopSpyStream

    public void stopSpyStream()

  Stops spying this TelnetClient.

### registerNotifHandler

    public void registerNotifHandler(TelnetNotificationHandler notifhand)

  Registers a notification handler to which will be sent notifications of received telnet option negotiation commands.

  Parameters:
    `notifhand` - - TelnetNotificationHandler to be registered

### unregisterNotifHandler

    public void unregisterNotifHandler()

  Unregisters the current notification handler.

### 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

### getReaderThread

    public boolean getReaderThread()

  Gets the status of the reader thread.

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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2010 The Apache Software Foundation. All Rights Reserved.