SocketFactory (Java SE 15 & JDK 15) (original) (raw)

Direct Known Subclasses:

[SSLSocketFactory](ssl/SSLSocketFactory.html "class in javax.net.ssl")


public abstract class SocketFactory extends Object

This class creates sockets. It may be subclassed by other factories, which create particular subclasses of sockets and thus provide a general framework for the addition of public socket-level functionality.

Socket factories are a simple way to capture a variety of policies related to the sockets being constructed, producing such sockets in a way which does not require special configuration of the code which asks for the sockets:

Factory classes are specified by environment-specific configuration mechanisms. For example, the getDefault method could return a factory that was appropriate for a particular user or applet, and a framework could use a factory customized to its own purposes.

Since:

1.4

See Also:

ServerSocketFactory

Constructors

Modifier Constructor Description
protected SocketFactory() Creates a SocketFactory.
Modifier and Type Method Description
Socket createSocket() Creates an unconnected socket.
abstract Socket createSocket​(String host, int port) Creates a socket and connects it to the specified remote host at the specified remote port.
abstract Socket createSocket​(String host, int port,InetAddress localHost, int localPort) Creates a socket and connects it to the specified remote host on the specified remote port.
abstract Socket createSocket​(InetAddress host, int port) Creates a socket and connects it to the specified port number at the specified address.
abstract Socket createSocket​(InetAddress address, int port,InetAddress localAddress, int localPort) Creates a socket and connect it to the specified remote address on the specified remote port.
static SocketFactory getDefault() Returns a copy of the environment's default socket factory.

Methods declared in class java.lang.Object

[clone](../../java/lang/Object.html#clone%28%29), [equals](../../java/lang/Object.html#equals%28java.lang.Object%29), [finalize](../../java/lang/Object.html#finalize%28%29), [getClass](../../java/lang/Object.html#getClass%28%29), [hashCode](../../java/lang/Object.html#hashCode%28%29), [notify](../../java/lang/Object.html#notify%28%29), [notifyAll](../../java/lang/Object.html#notifyAll%28%29), [toString](../../java/lang/Object.html#toString%28%29), [wait](../../java/lang/Object.html#wait%28%29), [wait](../../java/lang/Object.html#wait%28long%29), [wait](../../java/lang/Object.html#wait%28long,int%29)