## 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
`SOCKS4aServer(Socket clientSock)` Create a SOCKS4a server that communicates with the client using the specified socket.

Method Summary
`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`