net.i2p.i2ptunnel.socks

## Class SOCKS4aServer

- java.lang.Object
- - net.i2p.i2ptunnel.socks.SOCKSServer
  - - net.i2p.i2ptunnel.socks.SOCKS4aServer

-     public class SOCKS4aServer
      extends SOCKSServer

- - ### Field Summary

    - ### Fields inherited from class net.i2p.i2ptunnel.socks.SOCKSServer

      `addressType, connHostName, connPort`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SOCKS4aServer(Socket clientSock)` Create a SOCKS4a server that communicates with the client using the specified socket.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `confirmConnection()` Confirm to the client that the connection has succeeded
    `Socket` | `getClientSocket()` Get a socket that can be used to send/receive 8-bit clean data to/from the client.
    `I2PSocket` | `getDestinationI2PSocket(I2PSOCKSTunnel t)` Get an I2PSocket that can be used to send/receive 8-bit clean data to/from the destination of the SOCKS connection.
    `protected void` | `setupServer()` Perform server initialization (expecially regarding protected variables).

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SOCKS4aServer

          public SOCKS4aServer(Socket clientSock)

      Create a SOCKS4a server that communicates with the client using the specified socket. This method should not be invoked directly: new SOCKS4aServer objects should be created by using SOCKSServerFactory.createSOCSKServer(). It is assumed that the SOCKS VER field has been stripped from the input stream of the client socket.
      Parameters:
        `clientSock` - client socket

  - ### Method Detail

    - #### getClientSocket

          public Socket getClientSocket()
                                 throws SOCKSException

      Description copied from class: `SOCKSServer`
      Get a socket that can be used to send/receive 8-bit clean data to/from the client.
      Specified by:
        `getClientSocket` in class `SOCKSServer`
      Returns:
        a Socket connected with the client
      Throws:
        `SOCKSException`

    - #### setupServer

          protected void setupServer()
                              throws SOCKSException

      Description copied from class: `SOCKSServer`
      Perform server initialization (expecially regarding protected variables).
      Specified by:
        `setupServer` in class `SOCKSServer`
      Throws:
        `SOCKSException`

    - #### confirmConnection

          protected void confirmConnection()
                                    throws SOCKSException

      Description copied from class: `SOCKSServer`
      Confirm to the client that the connection has succeeded
      Specified by:
        `confirmConnection` in class `SOCKSServer`
      Throws:
        `SOCKSException`

    - #### getDestinationI2PSocket

          public I2PSocket getDestinationI2PSocket(I2PSOCKSTunnel t)
                                            throws SOCKSException

      Get an I2PSocket that can be used to send/receive 8-bit clean data to/from the destination of the SOCKS connection.
      Specified by:
        `getDestinationI2PSocket` in class `SOCKSServer`
      Returns:
        an I2PSocket connected with the destination
      Throws:
        `SOCKSException`