Class Telnet

    • Field Detail

      • _COMMAND_DO

        static final byte[] _COMMAND_DO
      • _COMMAND_DONT

        static final byte[] _COMMAND_DONT
      • _COMMAND_WILL

        static final byte[] _COMMAND_WILL
      • _COMMAND_WONT

        static final byte[] _COMMAND_WONT
      • _COMMAND_SB

        static final byte[] _COMMAND_SB
      • _COMMAND_SE

        static final byte[] _COMMAND_SE
      • _doResponse

        int[] _doResponse
      • _willResponse

        int[] _willResponse
      • _options

        int[] _options
      • 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
      • _COMMAND_IS

        static final byte[] _COMMAND_IS
        Is sequence (for subnegotiation)
      • terminalType

        private java.lang.String terminalType
        Terminal type
      • _COMMAND_AYT

        static final byte[] _COMMAND_AYT
        AYT sequence
      • aytMonitor

        private final java.lang.Object aytMonitor
        monitor to wait for AYT
      • aytFlag

        private volatile boolean aytFlag
        flag for AYT
      • spyStream

        private volatile java.io.OutputStream spyStream
        The stream on which to spy
    • Constructor Detail

      • Telnet

        Telnet()
        Empty Constructor
      • Telnet

        Telnet​(java.lang.String termtype)
        This constructor lets you specify the terminal type.
        Parameters:
        termtype - - terminal type to be negotiated (ej. VT100)
    • Method Detail

      • _stateIsWill

        boolean _stateIsWill​(int option)
        Looks for the state of the option.
        Parameters:
        option - - option code to be looked up.
        Returns:
        returns true if a will has been acknowledged
      • _stateIsWont

        boolean _stateIsWont​(int option)
        Looks for the state of the option.
        Parameters:
        option - - option code to be looked up.
        Returns:
        returns true if a wont has been acknowledged
      • _stateIsDo

        boolean _stateIsDo​(int option)
        Looks for the state of the option.
        Parameters:
        option - - option code to be looked up.
        Returns:
        returns true if a do has been acknowledged
      • _stateIsDont

        boolean _stateIsDont​(int option)
        Looks for the state of the option.
        Parameters:
        option - - option code to be looked up.
        Returns:
        returns true if a dont has been acknowledged
      • _requestedWill

        boolean _requestedWill​(int option)
        Looks for the state of the option.
        Parameters:
        option - - option code to be looked up.
        Returns:
        returns true if a will has been reuqested
      • _requestedWont

        boolean _requestedWont​(int option)
        Looks for the state of the option.
        Parameters:
        option - - option code to be looked up.
        Returns:
        returns true if a wont has been reuqested
      • _requestedDo

        boolean _requestedDo​(int option)
        Looks for the state of the option.
        Parameters:
        option - - option code to be looked up.
        Returns:
        returns true if a do has been reuqested
      • _requestedDont

        boolean _requestedDont​(int option)
        Looks for the state of the option.
        Parameters:
        option - - option code to be looked up.
        Returns:
        returns true if a dont has been reuqested
      • _setWill

        void _setWill​(int option)
               throws java.io.IOException
        Sets the state of the option.
        Parameters:
        option - - option code to be set.
        Throws:
        java.io.IOException
      • _setDo

        void _setDo​(int option)
             throws java.io.IOException
        Sets the state of the option.
        Parameters:
        option - - option code to be set.
        Throws:
        java.io.IOException
      • _setWantWill

        void _setWantWill​(int option)
        Sets the state of the option.
        Parameters:
        option - - option code to be set.
      • _setWantDo

        void _setWantDo​(int option)
        Sets the state of the option.
        Parameters:
        option - - option code to be set.
      • _setWont

        void _setWont​(int option)
        Sets the state of the option.
        Parameters:
        option - - option code to be set.
      • _setDont

        void _setDont​(int option)
        Sets the state of the option.
        Parameters:
        option - - option code to be set.
      • _setWantWont

        void _setWantWont​(int option)
        Sets the state of the option.
        Parameters:
        option - - option code to be set.
      • _setWantDont

        void _setWantDont​(int option)
        Sets the state of the option.
        Parameters:
        option - - option code to be set.
      • _processCommand

        void _processCommand​(int command)
        Processes a COMMAND.
        Parameters:
        command - - option code to be set.
      • _processDo

        void _processDo​(int option)
                 throws java.io.IOException
        Processes a DO request.
        Parameters:
        option - - option code to be set.
        Throws:
        java.io.IOException - - Exception in I/O.
      • _processDont

        void _processDont​(int option)
                   throws java.io.IOException
        Processes a DONT request.
        Parameters:
        option - - option code to be set.
        Throws:
        java.io.IOException - - Exception in I/O.
      • _processWill

        void _processWill​(int option)
                   throws java.io.IOException
        Processes a WILL request.
        Parameters:
        option - - option code to be set.
        Throws:
        java.io.IOException - - Exception in I/O.
      • _processWont

        void _processWont​(int option)
                   throws java.io.IOException
        Processes a WONT request.
        Parameters:
        option - - option code to be set.
        Throws:
        java.io.IOException - - Exception in I/O.
      • _processSuboption

        void _processSuboption​(int[] suboption,
                               int suboptionLength)
                        throws java.io.IOException
        Processes a suboption negotiation.
        Parameters:
        suboption - - subnegotiation data received
        suboptionLength - - length of data received
        Throws:
        java.io.IOException - - Exception in I/O.
      • _sendTerminalType

        final void _sendTerminalType()
                              throws java.io.IOException
        Sends terminal type information.
        Throws:
        java.io.IOException - - Exception in I/O.
      • _sendSubnegotiation

        final void _sendSubnegotiation​(int[] subn)
                                throws java.io.IOException
        Manages subnegotiation for Terminal Type.
        Parameters:
        subn - - subnegotiation data to be sent
        Throws:
        java.io.IOException - - Exception in I/O.
      • _sendCommand

        final void _sendCommand​(byte cmd)
                         throws java.io.IOException
        Sends a command, automatically adds IAC prefix and flushes the output.
        Parameters:
        cmd - - command data to be sent
        Throws:
        java.io.IOException - - Exception in I/O.
        Since:
        3.0
      • _processAYTResponse

        final void _processAYTResponse()
        Processes the response of an AYT
      • _connectAction_

        protected void _connectAction_()
                                throws java.io.IOException
        Called upon connection.
        Overrides:
        _connectAction_ in class SocketClient
        Throws:
        java.io.IOException - - Exception in I/O.
      • _sendDo

        final void _sendDo​(int option)
                    throws java.io.IOException
        Sends a DO.
        Parameters:
        option - - Option code.
        Throws:
        java.io.IOException - - Exception in I/O.
      • _requestDo

        final void _requestDo​(int option)
                       throws java.io.IOException
        Requests a DO.
        Parameters:
        option - - Option code.
        Throws:
        java.io.IOException - - Exception in I/O.
      • _sendDont

        final void _sendDont​(int option)
                      throws java.io.IOException
        Sends a DONT.
        Parameters:
        option - - Option code.
        Throws:
        java.io.IOException - - Exception in I/O.
      • _requestDont

        final void _requestDont​(int option)
                         throws java.io.IOException
        Requests a DONT.
        Parameters:
        option - - Option code.
        Throws:
        java.io.IOException - - Exception in I/O.
      • _sendWill

        final void _sendWill​(int option)
                      throws java.io.IOException
        Sends a WILL.
        Parameters:
        option - - Option code.
        Throws:
        java.io.IOException - - Exception in I/O.
      • _requestWill

        final void _requestWill​(int option)
                         throws java.io.IOException
        Requests a WILL.
        Parameters:
        option - - Option code.
        Throws:
        java.io.IOException - - Exception in I/O.
      • _sendWont

        final void _sendWont​(int option)
                      throws java.io.IOException
        Sends a WONT.
        Parameters:
        option - - Option code.
        Throws:
        java.io.IOException - - Exception in I/O.
      • _requestWont

        final void _requestWont​(int option)
                         throws java.io.IOException
        Requests a WONT.
        Parameters:
        option - - Option code.
        Throws:
        java.io.IOException - - Exception in I/O.
      • _sendByte

        final void _sendByte​(int b)
                      throws java.io.IOException
        Sends a byte.
        Parameters:
        b - - byte to send
        Throws:
        java.io.IOException - - Exception in I/O.
      • _sendAYT

        final boolean _sendAYT​(long timeout)
                        throws java.io.IOException,
                               java.lang.IllegalArgumentException,
                               java.lang.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:
        java.io.IOException - - Exception in I/O.
        java.lang.IllegalArgumentException - - Illegal argument
        java.lang.InterruptedException - - Interrupted during wait.
      • deleteOptionHandler

        void deleteOptionHandler​(int optcode)
                          throws InvalidTelnetOptionException,
                                 java.io.IOException
        Unregisters a TelnetOptionHandler.
        Parameters:
        optcode - - Code of the option to be unregistered.
        Throws:
        InvalidTelnetOptionException - - The option code is invalid.
        java.io.IOException - on error
      • _registerSpyStream

        void _registerSpyStream​(java.io.OutputStream spystream)
        Registers an OutputStream for spying what's going on in the Telnet session.
        Parameters:
        spystream - - OutputStream on which session activity will be echoed.
      • _stopSpyStream

        void _stopSpyStream()
        Stops spying this Telnet.
      • _spyRead

        void _spyRead​(int ch)
        Sends a read char on the spy stream.
        Parameters:
        ch - - character read from the session
      • _spyWrite

        void _spyWrite​(int ch)
        Sends a written char on the spy stream.
        Parameters:
        ch - - character written to the session
      • 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.