- java.lang.Object
-
- javax.net.SocketFactory
-
- Direct Known Subclasses:
- SSLSocketFactory
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:
- 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.
- Since:
- 1.4
- See Also:
ServerSocketFactory
-
-
Constructor Summary
Constructors Modifier Constructor and Description protected
SocketFactory()
Creates aSocketFactory
.
-
Method Summary
Methods 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.
-
-
-
Method Detail
-
getDefault
public static SocketFactory getDefault()
Returns a copy of the environment's default socket factory.- Returns:
- the default
SocketFactory
-
createSocket
public Socket createSocket() throws IOException
Creates an unconnected socket.- Returns:
- the unconnected socket
- Throws:
IOException
- if the socket cannot be created- See Also:
Socket.connect(java.net.SocketAddress)
,Socket.connect(java.net.SocketAddress, int)
,Socket.Socket()
-
createSocket
public abstract 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 andport
as its arguments. This could result in a SecurityException.- Parameters:
host
- the server host name with which to connect, ornull
for the loopback address.port
- the server port- Returns:
- the
Socket
- Throws:
IOException
- if an I/O error occurs when creating the socketSecurityException
- if a security manager exists and itscheckConnect
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.- See Also:
SecurityManager.checkConnect(java.lang.String, int)
,Socket.Socket(String, int)
-
createSocket
public abstract 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 andport
as its arguments. This could result in a SecurityException.- Parameters:
host
- the server host name with which to connect, ornull
for the loopback address.port
- the server portlocalHost
- the local address the socket is bound tolocalPort
- the local port the socket is bound to- Returns:
- the
Socket
- Throws:
IOException
- if an I/O error occurs when creating the socketSecurityException
- if a security manager exists and itscheckConnect
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.- See Also:
SecurityManager.checkConnect(java.lang.String, int)
,Socket.Socket(String, int, java.net.InetAddress, int)
-
createSocket
public abstract 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 andport
as its arguments. This could result in a SecurityException.- Parameters:
host
- the server hostport
- the server port- Returns:
- the
Socket
- Throws:
IOException
- if an I/O error occurs when creating the socketSecurityException
- if a security manager exists and itscheckConnect
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
- ifhost
is null.- See Also:
SecurityManager.checkConnect(java.lang.String, int)
,Socket.Socket(java.net.InetAddress, int)
-
createSocket
public abstract 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 andport
as its arguments. This could result in a SecurityException.- Parameters:
address
- the server network addressport
- the server portlocalAddress
- the client network addresslocalPort
- the client port- Returns:
- the
Socket
- Throws:
IOException
- if an I/O error occurs when creating the socketSecurityException
- if a security manager exists and itscheckConnect
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
- ifaddress
is null.- See Also:
SecurityManager.checkConnect(java.lang.String, int)
,Socket.Socket(java.net.InetAddress, int, java.net.InetAddress, int)
-
-
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 11/06/2005, zuletzt geändert 04/03/2020
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/java-api-rf-javax/net/socketfactory.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.