public abstract class SocketFactory extends Object
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.
ServerSocketFactory| Modifier | Constructor and Description | 
|---|---|
| protected  | SocketFactory()Creates a  SocketFactory. | 
| Modifier and Type | Method and Description | 
|---|---|
| Socket | createSocket()Creates an unconnected socket. | 
| 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. | 
| 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. | 
| static SocketFactory | getDefault()Returns a copy of the environment's default socket factory. | 
public static SocketFactory getDefault()
SocketFactorypublic Socket createSocket() throws IOException
IOException - if the socket cannot be createdSocket.connect(java.net.SocketAddress), 
Socket.connect(java.net.SocketAddress, int), 
Socket.Socket()public abstract Socket createSocket(String host, int port) throws IOException, UnknownHostException
 If there is a security manager, its checkConnect
 method is called with the host address and port
 as its arguments. This could result in a SecurityException.
host - the server host name with which to connect, or
        null for the loopback address.port - the server portSocketIOException - if an I/O error occurs when creating the socketSecurityException - if a security manager exists and its
         checkConnect method doesn't allow the operation.UnknownHostException - if the host is not knownIllegalArgumentException - if the port parameter is outside the
         specified range of valid port values, which is between 0 and
         65535, inclusive.SecurityManager.checkConnect(java.lang.String, int), 
Socket.Socket(String, int)public abstract Socket createSocket(String host, int port, InetAddress localHost, int localPort) throws IOException, UnknownHostException
 If there is a security manager, its checkConnect
 method is called with the host address and port
 as its arguments. This could result in a SecurityException.
host - the server host name with which to connect, or
        null for the loopback address.port - the server portlocalHost - the local address the socket is bound tolocalPort - the local port the socket is bound toSocketIOException - if an I/O error occurs when creating the socketSecurityException - if a security manager exists and its
         checkConnect method doesn't allow the operation.UnknownHostException - if the host is not knownIllegalArgumentException - if the port parameter or localPort
         parameter is outside the specified range of valid port values,
         which is between 0 and 65535, inclusive.SecurityManager.checkConnect(java.lang.String, int), 
Socket.Socket(String, int, java.net.InetAddress, int)public abstract Socket createSocket(InetAddress host, int port) throws IOException
 If there is a security manager, its checkConnect
 method is called with the host address and port
 as its arguments. This could result in a SecurityException.
host - the server hostport - the server portSocketIOException - if an I/O error occurs when creating the socketSecurityException - if a security manager exists and its
         checkConnect method doesn't allow the operation.IllegalArgumentException - if the port parameter is outside the
         specified range of valid port values, which is between 0 and
         65535, inclusive.NullPointerException - if host is null.SecurityManager.checkConnect(java.lang.String, int), 
Socket.Socket(java.net.InetAddress, int)public abstract Socket createSocket(InetAddress address, int port, InetAddress localAddress, int localPort) throws IOException
 If there is a security manager, its checkConnect
 method is called with the host address and port
 as its arguments. This could result in a SecurityException.
address - the server network addressport - the server portlocalAddress - the client network addresslocalPort - the client portSocketIOException - if an I/O error occurs when creating the socketSecurityException - if a security manager exists and its
         checkConnect method doesn't allow the operation.IllegalArgumentException - if the port parameter or localPort
         parameter is outside the specified range of valid port values,
         which is between 0 and 65535, inclusive.NullPointerException - if address is null.SecurityManager.checkConnect(java.lang.String, int), 
Socket.Socket(java.net.InetAddress, int,
     java.net.InetAddress, int) Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2023, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.