Class TelnetClient
 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 SummaryFieldsModifier and TypeFieldDescriptionprotected booleanprotected static final intTerminal type optionprotected static final intIs (for subnegotiation)protected static final intSend (for subnegotiation)Fields inherited from class org.apache.commons.net.SocketClient_defaultPort_, _hostname_, _input_, _output_, _serverSocketFactory_, _socket_, _socketFactory_, _timeout_, connectTimeout, NETASCII_EOL, remoteInetSocketAddress
- 
Constructor SummaryConstructorsConstructorDescriptionDefault TelnetClient constructor, sets terminal-typeVT100.TelnetClient(int maxSubnegotiationLength) Constructs an instance with the specified max subnegotiation length and the default terminal-typeVT100TelnetClient(String termtype) Constructs an instance with the specified terminal type.TelnetClient(String termtype, int maxSubnegotiationLength) Constructs an instance with the specified terminal type and max subnegotiation length
- 
Method SummaryModifier and TypeMethodDescriptionprotected voidHandles special connection requirements.voidaddOptionHandler(TelnetOptionHandler opthand) Registers a new TelnetOptionHandler for this telnet client to use.voiddeleteOptionHandler(int optcode) Unregisters a TelnetOptionHandler.voidDisconnects the telnet session, closing the input and output streams as well as the socket.Returns the telnet connection input stream.booleangetLocalOptionState(int option) Returns the state of the option on the local side.Returns the telnet connection output stream.booleanGets the status of the reader thread.booleangetRemoteOptionState(int option) Returns the state of the option on the remote side.voidregisterInputListener(TelnetInputListener listener) Register a listener to be notified when new incoming data is available to be read on theinput stream.voidregisterNotifHandler(TelnetNotificationHandler notifhand) Registers a notification handler to which will be sent notifications of received telnet option negotiation commands.voidregisterSpyStream(OutputStream spystream) Registers an OutputStream for spying what's going on in the TelnetClient session.booleansendAYT(long timeout) Deprecated.booleanSends anAre You There (AYT)sequence and waits for the result.voidsendCommand(byte command) Sends a command byte to the remote peer, adding the IAC prefix.voidsendSubnegotiation(int[] message) Sends a protocol-specific subnegotiation message to the remote peer.voidsetReaderThread(boolean flag) Sets the status of the reader thread.voidStops spying this TelnetClient.voidUnregisters the currentTelnetInputListener, if any.voidUnregisters the current notification handler.Methods inherited from class org.apache.commons.net.SocketClientaddProtocolCommandListener, applySocketAttributes, checkOpenOutputStream, connect, connect, connect, connect, connect, connect, createCommandSupport, fireCommandSent, fireReplyReceived, getCharset, getCharsetName, getCommandSupport, getConnectTimeout, getDefaultPort, getDefaultTimeout, getKeepAlive, getLocalAddress, getLocalPort, getProxy, getReceiveBufferSize, getRemoteAddress, getRemoteInetSocketAddress, getRemotePort, getSendBufferSize, getServerSocketFactory, getSoLinger, getSoTimeout, getTcpNoDelay, isAvailable, isConnected, removeProtocolCommandListener, setCharset, setConnectTimeout, setDefaultPort, setDefaultTimeout, setKeepAlive, setProxy, setReceiveBufferSize, setSendBufferSize, setServerSocketFactory, setSocketFactory, setSoLinger, setSoTimeout, setTcpNoDelay, verifyRemote
- 
Field Details- 
readerThread
- 
TERMINAL_TYPEprotected static final int TERMINAL_TYPETerminal type option- See Also:
 
- 
TERMINAL_TYPE_SENDprotected static final int TERMINAL_TYPE_SENDSend (for subnegotiation)- See Also:
 
- 
TERMINAL_TYPE_ISprotected static final int TERMINAL_TYPE_ISIs (for subnegotiation)- See Also:
 
 
- 
- 
Constructor Details- 
TelnetClientpublic TelnetClient()Default TelnetClient constructor, sets terminal-typeVT100.
- 
TelnetClientConstructs an instance with the specified max subnegotiation length and the default terminal-typeVT100- Parameters:
- maxSubnegotiationLength- the size of the subnegotiation buffer
 
- 
TelnetClientConstructs an instance with the specified terminal type.- Parameters:
- termtype- the terminal type to use, e.g.- VT100
 
- 
TelnetClientConstructs an instance with the specified terminal type and max subnegotiation length- Parameters:
- termtype- the terminal type to use, e.g.- VT100
- maxSubnegotiationLength- the size of the subnegotiation buffer
 
 
- 
- 
Method Details- 
_connectAction_Handles special connection requirements.- Throws:
- IOException- If an error occurs during connection setup.
 
- 
addOptionHandlerpublic void addOptionHandler(TelnetOptionHandler opthand) throws InvalidTelnetOptionException, IOException Registers a new TelnetOptionHandler for this telnet client to use.- Parameters:
- opthand- - option handler to be registered.
- Throws:
- InvalidTelnetOptionException- on error
- IOException- on error
 
- 
deleteOptionHandlerUnregisters a TelnetOptionHandler.- Parameters:
- optcode- - Code of the option to be unregistered.
- Throws:
- InvalidTelnetOptionException- on error
- IOException- on error
 
- 
disconnectDisconnects 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:
- disconnectin class- SocketClient
- Throws:
- IOException- not thrown, subclasses may throw.
 
- 
getInputStreamReturns the telnet connection input stream. You should not close the stream when you finish with it. Rather, you should calldisconnect.- Returns:
- The telnet connection input stream.
 
- 
getLocalOptionStateReturns 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.
 
- 
getOutputStreamReturns the telnet connection output stream. You should not close the stream when you finish with it. Rather, you should calldisconnect.- Returns:
- The telnet connection output stream.
 
- 
getReaderThreadGets the status of the reader thread.- Returns:
- true if the reader thread is enabled, false otherwise
 
- 
getRemoteOptionStateReturns 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.
 
- 
registerInputListenerRegister a listener to be notified when new incoming data is available to be read on theinput stream. Only one listener is supported at a time.More precisely, notifications are issued whenever the number of bytes available for immediate reading (i.e., the value returned by InputStream.available()) transitions from zero to non-zero. Note that (in general) multiple reads may be required to empty the buffer and reset this notification, because incoming bytes are being added to the internal buffer asynchronously.Notifications are only supported when a reader threadis enabled for the connection.- Parameters:
- listener- listener to be registered; replaces any previous
- Since:
- 3.0
 
- 
registerNotifHandlerRegisters a notification handler to which will be sent notifications of received telnet option negotiation commands.- Parameters:
- notifhand- - TelnetNotificationHandler to be registered
 
- 
registerSpyStreamRegisters an OutputStream for spying what's going on in the TelnetClient session.- Parameters:
- spystream- - OutputStream on which session activity will be echoed.
 
- 
sendAYTpublic boolean sendAYT(Duration timeout) throws IOException, IllegalArgumentException, InterruptedException Sends anAre You There (AYT)sequence and waits for the result.- Parameters:
- timeout- - Time to wait for a response.
- Returns:
- true if AYT received a response, false otherwise.
- Throws:
- InterruptedException- on error
- IllegalArgumentException- on error
- IOException- on error
- Since:
- 3.10.0
 
- 
sendAYT@Deprecated public boolean sendAYT(long timeout) throws IOException, IllegalArgumentException, InterruptedException Deprecated.UsesendAYT(Duration).Sends anAre You There (AYT)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- on error
- IllegalArgumentException- on error
- IOException- on error
 
- 
sendCommandSends a command byte to the remote peer, adding the IAC prefix.This method does not wait for any response. Messages sent by the remote end can be handled by registering an approrpriate TelnetOptionHandler.- Parameters:
- command- the code for the command
- Throws:
- IOException- if an I/O error occurs while writing the message
- IllegalArgumentException- on error
- Since:
- 3.0
 
- 
sendSubnegotiationSends a protocol-specific subnegotiation message to the remote peer.TelnetClientwill add the IAC SB & IAC SE framing bytes; the first byte inmessageshould be the appropriate telnet option code.This method does not wait for any response. Subnegotiation messages sent by the remote end can be handled by registering an approrpriate TelnetOptionHandler.- Parameters:
- message- option code followed by subnegotiation payload
- Throws:
- IllegalArgumentException- if- messagehas length zero
- IOException- if an I/O error occurs while writing the message
- Since:
- 3.0
 
- 
setReaderThreadSets the status of the reader thread.When enabled, a seaparate internal reader thread is created for new connections to read incoming data as it arrives. This results in immediate handling of option negotiation, notifications, etc. (at least until the fixed-size internal buffer fills up). Otherwise, no thread is created an all negotiation and option handling is deferred until a read() is performed on the input stream.The reader thread must be enabled for TelnetInputListenersupport.When this method is invoked, the reader thread status will apply to all subsequent connections; the current connection (if any) is not affected. - Parameters:
- flag- true to enable the reader thread, false to disable
- See Also:
 
- 
stopSpyStreamStops spying this TelnetClient.
- 
unregisterInputListenerUnregisters the currentTelnetInputListener, if any.- Since:
- 3.0
 
- 
unregisterNotifHandlerUnregisters the current notification handler.
 
- 
sendAYT(Duration).