Package javax.net
Class SocketFactory
- java.lang.Object
-
- javax.net.SocketFactory
-
- Direct Known Subclasses:
SSLSocketFactory
public abstract class SocketFactory extends Object
This abstract class defines methods to create sockets. It can be subclassed to create specific socket types with additional socket-level functionality.
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedSocketFactory()Creates a newSocketFactoryinstance.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description SocketcreateSocket()Creates a new socket which is not connected to any remote host.abstract SocketcreateSocket(String host, int port)Creates a new socket which is connected to the remote host specified by the parametershostandport.abstract SocketcreateSocket(String host, int port, InetAddress localHost, int localPort)Creates a new socket which is connected to the remote host specified by the parametershostandport.abstract SocketcreateSocket(InetAddress host, int port)Creates a new socket which is connected to the remote host specified by the InetAddresshost.abstract SocketcreateSocket(InetAddress address, int port, InetAddress localAddress, int localPort)Creates a new socket which is connected to the remote host specified by the InetAddressaddress.static SocketFactorygetDefault()Gets the default socket factory of the system which can be used to create new sockets without creating a subclass of this factory.static voidsetDefault(SocketFactory socketFactory)Set the default socket factory.
-
-
-
Method Detail
-
getDefault
public static SocketFactory getDefault()
Gets the default socket factory of the system which can be used to create new sockets without creating a subclass of this factory.- Returns:
- the system default socket factory.
-
setDefault
public static void setDefault(SocketFactory socketFactory)
Set the default socket factory. For use in tests.
-
createSocket
public Socket createSocket() throws IOException
Creates a new socket which is not connected to any remote host. This method has to be overridden by a subclass otherwise aSocketExceptionis thrown.- Returns:
- the created unconnected socket.
- Throws:
IOException- if an error occurs while creating a new socket.
-
createSocket
public abstract Socket createSocket(String host, int port) throws IOException, UnknownHostException
Creates a new socket which is connected to the remote host specified by the parametershostandport. The socket is bound to any available local address and port.- Parameters:
host- the remote host address the socket has to be connected to.port- the port number of the remote host at which the socket is connected.- Returns:
- the created connected socket.
- Throws:
IOException- if an error occurs while creating a new socket.UnknownHostException- if the specified host is unknown or the IP address could not be resolved.
-
createSocket
public abstract Socket createSocket(String host, int port, InetAddress localHost, int localPort) throws IOException, UnknownHostException
Creates a new socket which is connected to the remote host specified by the parametershostandport. The socket is bound to the local network interface specified by the InetAddresslocalHoston portlocalPort.- Parameters:
host- the remote host address the socket has to be connected to.port- the port number of the remote host at which the socket is connected.localHost- the local host address the socket is bound to.localPort- the port number of the local host at which the socket is bound.- Returns:
- the created connected socket.
- Throws:
IOException- if an error occurs while creating a new socket.UnknownHostException- if the specified host is unknown or the IP address could not be resolved.
-
createSocket
public abstract Socket createSocket(InetAddress host, int port) throws IOException
Creates a new socket which is connected to the remote host specified by the InetAddresshost. The socket is bound to any available local address and port.- Parameters:
host- the host address the socket has to be connected to.port- the port number of the remote host at which the socket is connected.- Returns:
- the created connected socket.
- Throws:
IOException- if an error occurs while creating a new socket.
-
createSocket
public abstract Socket createSocket(InetAddress address, int port, InetAddress localAddress, int localPort) throws IOException
Creates a new socket which is connected to the remote host specified by the InetAddressaddress. The socket is bound to the local network interface specified by the InetAddresslocalHoston portlocalPort.- Parameters:
address- the remote host address the socket has to be connected to.port- the port number of the remote host at which the socket is connected.localAddress- the local host address the socket is bound to.localPort- the port number of the local host at which the socket is bound.- Returns:
- the created connected socket.
- Throws:
IOException- if an error occurs while creating a new socket.
-
-