javax.net
abstract public class: SocketFactory [javadoc |
source]
java.lang.Object
javax.net.SocketFactory
Direct Known Subclasses:
VanillaSocketFactory, DefaultSSLSocketFactory, DefaultSocketFactory, SSLSocketFactory
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:
- Due to polymorphism of both factories and sockets, different
kinds of sockets can be used by the same application code just
by passing it different kinds of factories.
- Factories can themselves be customized with parameters used
in socket construction. So for example, factories could be
customized to return sockets with different networking timeouts
or security parameters already configured.
- The sockets returned to the application can be subclasses
of java.net.Socket, so that they can directly expose new APIs
for features such as compression, security, record marking,
statistics collection, or firewall tunneling.
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.
Methods from java.lang.Object: |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method from javax.net.SocketFactory Detail: |
public Socket createSocket() throws IOException {
//
// bug 6771432:
// The Exception is used by HttpsClient to signal that
// unconnected sockets have not been implemented.
//
UnsupportedOperationException uop = new
UnsupportedOperationException();
SocketException se = new SocketException(
"Unconnected sockets not implemented");
se.initCause(uop);
throw se;
}
Creates an unconnected socket. |
abstract public Socket createSocket(String host,
int port) throws IOException, UnknownHostException
Creates a socket and connects it to the specified remote host
at the specified remote port. This socket is configured using
the socket options established for this factory.
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. |
abstract public Socket createSocket(InetAddress host,
int port) throws IOException
Creates a socket and connects it to the specified port number
at the specified address. This socket is configured using
the socket options established for this factory.
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. |
abstract public Socket createSocket(String host,
int port,
InetAddress localHost,
int localPort) throws IOException, UnknownHostException
Creates a socket and connects it to the specified remote host
on the specified remote port.
The socket will also be bound to the local address and port supplied.
This socket is configured using
the socket options established for this factory.
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. |
abstract public Socket createSocket(InetAddress address,
int port,
InetAddress localAddress,
int localPort) throws IOException
Creates a socket and connect it to the specified remote address
on the specified remote port. The socket will also be bound
to the local address and port suplied. The socket is configured using
the socket options established for this factory.
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. |
public static SocketFactory getDefault() {
synchronized (SocketFactory.class) {
if (theFactory == null) {
//
// Different implementations of this method SHOULD
// work rather differently. For example, driving
// this from a system property, or using a different
// implementation than JavaSoft's.
//
theFactory = new DefaultSocketFactory();
}
}
return theFactory;
}
Returns a copy of the environment's default socket factory. |