class Telnet extends SocketClient
Modifier and Type | Field and Description |
---|---|
private TelnetNotificationHandler |
__notifhand
The notification handler
|
(package private) static byte[] |
_COMMAND_AYT
AYT sequence
|
(package private) static byte[] |
_COMMAND_DO |
(package private) static byte[] |
_COMMAND_DONT |
(package private) static byte[] |
_COMMAND_IS
Is sequence (for subnegotiation)
|
(package private) static byte[] |
_COMMAND_SB |
(package private) static byte[] |
_COMMAND_SE |
(package private) static byte[] |
_COMMAND_WILL |
(package private) static byte[] |
_COMMAND_WONT |
(package private) static int |
_DO_MASK |
(package private) int[] |
_doResponse |
(package private) int[] |
_options |
(package private) static int |
_REQUESTED_DO_MASK |
(package private) static int |
_REQUESTED_WILL_MASK |
(package private) static int |
_WILL_MASK |
(package private) int[] |
_willResponse |
private boolean |
aytFlag
flag for AYT
|
private java.lang.Object |
aytMonitor
monitor to wait for AYT
|
(package private) static boolean |
debug |
(package private) static boolean |
debugoptions |
(package private) static int |
DEFAULT_PORT |
private TelnetOptionHandler[] |
optionHandlers
Array of option handlers
|
private java.io.OutputStream |
spyStream
The stream on which to spy
|
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)
|
private java.lang.String |
terminalType
Terminal type
|
_defaultPort_, _hostname_, _input_, _output_, _serverSocketFactory_, _socket_, _socketFactory_, _timeout_, connectTimeout, NETASCII_EOL
Constructor and Description |
---|
Telnet()
Empty Constructor
|
Telnet(java.lang.String termtype)
This constructor lets you specify the terminal type.
|
Modifier and Type | Method and Description |
---|---|
protected void |
_connectAction_()
Called upon connection.
|
(package private) void |
_processAYTResponse()
Processes the response of an AYT
|
(package private) void |
_processCommand(int command)
Processes a COMMAND.
|
(package private) void |
_processDo(int option)
Processes a DO request.
|
(package private) void |
_processDont(int option)
Processes a DONT request.
|
(package private) void |
_processSuboption(int[] suboption,
int suboptionLength)
Processes a suboption negotiation.
|
(package private) void |
_processWill(int option)
Processes a WILL request.
|
(package private) void |
_processWont(int option)
Processes a WONT request.
|
(package private) void |
_registerSpyStream(java.io.OutputStream spystream)
Registers an OutputStream for spying what's going on in
the Telnet session.
|
(package private) void |
_requestDo(int option)
Requests a DO.
|
(package private) void |
_requestDont(int option)
Requests a DONT.
|
(package private) boolean |
_requestedDo(int option)
Looks for the state of the option.
|
(package private) boolean |
_requestedDont(int option)
Looks for the state of the option.
|
(package private) boolean |
_requestedWill(int option)
Looks for the state of the option.
|
(package private) boolean |
_requestedWont(int option)
Looks for the state of the option.
|
(package private) void |
_requestWill(int option)
Requests a WILL.
|
(package private) void |
_requestWont(int option)
Requests a WONT.
|
(package private) boolean |
_sendAYT(long timeout)
Sends an Are You There sequence and waits for the result.
|
(package private) void |
_sendByte(int b)
Sends a byte.
|
(package private) void |
_sendCommand(byte cmd)
Sends a command, automatically adds IAC prefix and flushes the output.
|
(package private) void |
_sendDo(int option)
Sends a DO.
|
(package private) void |
_sendDont(int option)
Sends a DONT.
|
(package private) void |
_sendSubnegotiation(int[] subn)
Manages subnegotiation for Terminal Type.
|
(package private) void |
_sendTerminalType()
Sends terminal type information.
|
(package private) void |
_sendWill(int option)
Sends a WILL.
|
(package private) void |
_sendWont(int option)
Sends a WONT.
|
(package private) void |
_setDo(int option)
Sets the state of the option.
|
(package private) void |
_setDont(int option)
Sets the state of the option.
|
(package private) void |
_setWantDo(int option)
Sets the state of the option.
|
(package private) void |
_setWantDont(int option)
Sets the state of the option.
|
(package private) void |
_setWantWill(int option)
Sets the state of the option.
|
(package private) void |
_setWantWont(int option)
Sets the state of the option.
|
(package private) void |
_setWill(int option)
Sets the state of the option.
|
(package private) void |
_setWont(int option)
Sets the state of the option.
|
(package private) void |
_spyRead(int ch)
Sends a read char on the spy stream.
|
(package private) void |
_spyWrite(int ch)
Sends a written char on the spy stream.
|
(package private) boolean |
_stateIsDo(int option)
Looks for the state of the option.
|
(package private) boolean |
_stateIsDont(int option)
Looks for the state of the option.
|
(package private) boolean |
_stateIsWill(int option)
Looks for the state of the option.
|
(package private) boolean |
_stateIsWont(int option)
Looks for the state of the option.
|
(package private) void |
_stopSpyStream()
Stops spying this Telnet.
|
(package private) void |
addOptionHandler(TelnetOptionHandler opthand)
Registers a new TelnetOptionHandler for this telnet to use.
|
(package private) void |
deleteOptionHandler(int optcode)
Unregisters a TelnetOptionHandler.
|
void |
registerNotifHandler(TelnetNotificationHandler notifhand)
Registers a notification handler to which will be sent
notifications of received telnet option negotiation commands.
|
void |
unregisterNotifHandler()
Unregisters the current notification handler.
|
addProtocolCommandListener, connect, connect, connect, connect, connect, connect, createCommandSupport, disconnect, fireCommandSent, fireReplyReceived, getCharset, getCharsetName, getCommandSupport, getConnectTimeout, getDefaultPort, getDefaultTimeout, getKeepAlive, getLocalAddress, getLocalPort, getProxy, getReceiveBufferSize, getRemoteAddress, getRemotePort, getSendBufferSize, getServerSocketFactory, getSoLinger, getSoTimeout, getTcpNoDelay, isAvailable, isConnected, removeProtocolCommandListener, setCharset, setConnectTimeout, setDefaultPort, setDefaultTimeout, setKeepAlive, setProxy, setReceiveBufferSize, setSendBufferSize, setServerSocketFactory, setSocketFactory, setSoLinger, setSoTimeout, setTcpNoDelay, verifyRemote
static final boolean debug
static final boolean debugoptions
static final byte[] _COMMAND_DO
static final byte[] _COMMAND_DONT
static final byte[] _COMMAND_WILL
static final byte[] _COMMAND_WONT
static final byte[] _COMMAND_SB
static final byte[] _COMMAND_SE
static final int _WILL_MASK
static final int _DO_MASK
static final int _REQUESTED_WILL_MASK
static final int _REQUESTED_DO_MASK
static final int DEFAULT_PORT
int[] _doResponse
int[] _willResponse
int[] _options
protected static final int TERMINAL_TYPE
protected static final int TERMINAL_TYPE_SEND
protected static final int TERMINAL_TYPE_IS
static final byte[] _COMMAND_IS
private java.lang.String terminalType
private final TelnetOptionHandler[] optionHandlers
static final byte[] _COMMAND_AYT
private final java.lang.Object aytMonitor
private volatile boolean aytFlag
private volatile java.io.OutputStream spyStream
private TelnetNotificationHandler __notifhand
Telnet()
Telnet(java.lang.String termtype)
termtype
- - terminal type to be negotiated (ej. VT100)boolean _stateIsWill(int option)
option
- - option code to be looked up.boolean _stateIsWont(int option)
option
- - option code to be looked up.boolean _stateIsDo(int option)
option
- - option code to be looked up.boolean _stateIsDont(int option)
option
- - option code to be looked up.boolean _requestedWill(int option)
option
- - option code to be looked up.boolean _requestedWont(int option)
option
- - option code to be looked up.boolean _requestedDo(int option)
option
- - option code to be looked up.boolean _requestedDont(int option)
option
- - option code to be looked up.void _setWill(int option) throws java.io.IOException
option
- - option code to be set.java.io.IOException
void _setDo(int option) throws java.io.IOException
option
- - option code to be set.java.io.IOException
void _setWantWill(int option)
option
- - option code to be set.void _setWantDo(int option)
option
- - option code to be set.void _setWont(int option)
option
- - option code to be set.void _setDont(int option)
option
- - option code to be set.void _setWantWont(int option)
option
- - option code to be set.void _setWantDont(int option)
option
- - option code to be set.void _processCommand(int command)
command
- - option code to be set.void _processDo(int option) throws java.io.IOException
option
- - option code to be set.java.io.IOException
- - Exception in I/O.void _processDont(int option) throws java.io.IOException
option
- - option code to be set.java.io.IOException
- - Exception in I/O.void _processWill(int option) throws java.io.IOException
option
- - option code to be set.java.io.IOException
- - Exception in I/O.void _processWont(int option) throws java.io.IOException
option
- - option code to be set.java.io.IOException
- - Exception in I/O.void _processSuboption(int[] suboption, int suboptionLength) throws java.io.IOException
suboption
- - subnegotiation data receivedsuboptionLength
- - length of data receivedjava.io.IOException
- - Exception in I/O.final void _sendTerminalType() throws java.io.IOException
java.io.IOException
- - Exception in I/O.final void _sendSubnegotiation(int[] subn) throws java.io.IOException
subn
- - subnegotiation data to be sentjava.io.IOException
- - Exception in I/O.final void _sendCommand(byte cmd) throws java.io.IOException
cmd
- - command data to be sentjava.io.IOException
- - Exception in I/O.final void _processAYTResponse()
protected void _connectAction_() throws java.io.IOException
_connectAction_
in class SocketClient
java.io.IOException
- - Exception in I/O.final void _sendDo(int option) throws java.io.IOException
option
- - Option code.java.io.IOException
- - Exception in I/O.final void _requestDo(int option) throws java.io.IOException
option
- - Option code.java.io.IOException
- - Exception in I/O.final void _sendDont(int option) throws java.io.IOException
option
- - Option code.java.io.IOException
- - Exception in I/O.final void _requestDont(int option) throws java.io.IOException
option
- - Option code.java.io.IOException
- - Exception in I/O.final void _sendWill(int option) throws java.io.IOException
option
- - Option code.java.io.IOException
- - Exception in I/O.final void _requestWill(int option) throws java.io.IOException
option
- - Option code.java.io.IOException
- - Exception in I/O.final void _sendWont(int option) throws java.io.IOException
option
- - Option code.java.io.IOException
- - Exception in I/O.final void _requestWont(int option) throws java.io.IOException
option
- - Option code.java.io.IOException
- - Exception in I/O.final void _sendByte(int b) throws java.io.IOException
b
- - byte to sendjava.io.IOException
- - Exception in I/O.final boolean _sendAYT(long timeout) throws java.io.IOException, java.lang.IllegalArgumentException, java.lang.InterruptedException
timeout
- - Time to wait for a response (millis.)java.io.IOException
- - Exception in I/O.java.lang.IllegalArgumentException
- - Illegal argumentjava.lang.InterruptedException
- - Interrupted during wait.void addOptionHandler(TelnetOptionHandler opthand) throws InvalidTelnetOptionException, java.io.IOException
opthand
- - option handler to be registered.InvalidTelnetOptionException
- - The option code is invalid.java.io.IOException
- on errorvoid deleteOptionHandler(int optcode) throws InvalidTelnetOptionException, java.io.IOException
optcode
- - Code of the option to be unregistered.InvalidTelnetOptionException
- - The option code is invalid.java.io.IOException
- on errorvoid _registerSpyStream(java.io.OutputStream spystream)
spystream
- - OutputStream on which session activity
will be echoed.void _stopSpyStream()
void _spyRead(int ch)
ch
- - character read from the sessionvoid _spyWrite(int ch)
ch
- - character written to the sessionpublic void registerNotifHandler(TelnetNotificationHandler notifhand)
notifhand
- - TelnetNotificationHandler to be registeredpublic void unregisterNotifHandler()