Class Socks5Client
- java.lang.Object
-
- org.jivesoftware.smackx.bytestreams.socks5.Socks5Client
-
- Direct Known Subclasses:
Socks5ClientForInitiator
public class Socks5Client extends java.lang.Object
The SOCKS5 client class handles establishing a connection to a SOCKS5 proxy. Connecting to a SOCKS5 proxy requires authentication. This implementation only supports the no-authentication authentication method.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
digest
protected Bytestream.StreamHost
streamHost
-
Constructor Summary
Constructors Constructor Description Socks5Client(Bytestream.StreamHost streamHost, java.lang.String digest)
Constructor for a SOCKS5 client.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
establish(java.net.Socket socket)
Initializes the connection to the SOCKS5 proxy by negotiating authentication method and requesting a stream for the given digest.java.net.Socket
getSocket(int timeout)
Returns the initialized socket that can be used to transfer data between peers via the SOCKS5 proxy.
-
-
-
Field Detail
-
streamHost
protected Bytestream.StreamHost streamHost
-
digest
protected java.lang.String digest
-
-
Constructor Detail
-
Socks5Client
public Socks5Client(Bytestream.StreamHost streamHost, java.lang.String digest)
Constructor for a SOCKS5 client.- Parameters:
streamHost
- containing network settings of the SOCKS5 proxydigest
- identifying the SOCKS5 Bytestream
-
-
Method Detail
-
getSocket
public java.net.Socket getSocket(int timeout) throws java.io.IOException, java.lang.InterruptedException, java.util.concurrent.TimeoutException, XMPPException, SmackException.SmackMessageException, SmackException.NotConnectedException, SmackException.NoResponseException
Returns the initialized socket that can be used to transfer data between peers via the SOCKS5 proxy.- Parameters:
timeout
- timeout to connect to SOCKS5 proxy in milliseconds- Returns:
- socket the initialized socket
- Throws:
java.io.IOException
- if initializing the socket failed due to a network errorjava.util.concurrent.TimeoutException
- if connecting to SOCKS5 proxy timed outjava.lang.InterruptedException
- if the current thread was interrupted while waitingXMPPException
- if an XMPP protocol error was received.SmackException.SmackMessageException
- if there was an error.SmackException.NotConnectedException
- if the XMPP connection is not connected.SmackException.NoResponseException
- if there was no response from the remote entity.
-
establish
protected void establish(java.net.Socket socket) throws java.io.IOException, SmackException.SmackMessageException
Initializes the connection to the SOCKS5 proxy by negotiating authentication method and requesting a stream for the given digest. Currently only the no-authentication method is supported by the Socks5Client.- Parameters:
socket
- connected to a SOCKS5 proxy- Throws:
java.io.IOException
- if an I/O error occurred.SmackException.SmackMessageException
- if there was an error.
-
-