java.lang.Object
javax.net.SocketFactory
- 直接已知的子类:
-
SSLSocketFactory
该类创建套接字。其他工厂可以通过继承该类来创建特定的套接字子类,从而为添加公共套接字级功能提供一个通用框架。
套接字工厂是捕获与正在构建的套接字相关的各种策略的简单方法,以一种不需要特殊配置请求套接字的代码的方式来产生这些套接字:
- 由于工厂和套接字的多态性,同一应用程序代码可以通过传递不同类型的工厂来使用不同类型的套接字。
- 工厂本身可以使用在套接字构造中使用的参数进行自定义。因此,例如,工厂可以定制为返回已经配置了不同网络超时或安全参数的套接字。
- 返回给应用程序的套接字可以是java.net.Socket的子类,以便它们可以直接公开用于功能的新API,例如压缩、安全、记录标记、统计信息收集或防火墙隧道。
工厂类由特定于环境的配置机制指定。例如,getDefault方法可以返回适用于特定用户或小程序的工厂,并且框架可以使用定制为其自身目的的工厂。
- 自 JDK 版本:
- 1.4
- 另请参阅:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription创建一个未连接的套接字。abstract Socket
createSocket
(String host, int port) 创建一个套接字并将其连接到指定的远程主机的指定远程端口。abstract Socket
createSocket
(String host, int port, InetAddress localHost, int localPort) 创建一个套接字并将其连接到指定的远程主机的指定远程端口。abstract Socket
createSocket
(InetAddress host, int port) 创建一个套接字并将其连接到指定地址的指定端口号。abstract Socket
createSocket
(InetAddress address, int port, InetAddress localAddress, int localPort) 创建一个套接字并将其连接到指定的远程地址的指定远程端口。static SocketFactory
返回环境的默认套接字工厂的副本。
-
Constructor Details
-
SocketFactory
protected SocketFactory()创建一个SocketFactory
。
-
-
Method Details
-
getDefault
返回环境的默认套接字工厂的副本。- 返回:
-
默认的
SocketFactory
-
createSocket
创建一个未连接的套接字。- 返回:
- 未连接的套接字
- 抛出:
-
IOException
- 如果无法创建套接字 - 另请参阅:
-
createSocket
创建一个套接字并将其连接到指定的远程主机的指定远程端口。此套接字使用为此工厂建立的套接字选项进行配置。如果存在安全管理器,则将使用主机地址和
port
作为其参数调用其checkConnect
方法。这可能导致SecurityException。- 参数:
-
host
- 要连接的服务器主机名,或null
表示回送地址。 -
port
- 服务器端口 - 返回:
-
Socket
- 抛出:
-
IOException
- 创建套接字时发生I/O错误 -
SecurityException
- 如果存在安全管理器且其checkConnect
方法不允许该操作。 -
UnknownHostException
- 如果主机未知 -
IllegalArgumentException
- 如果端口参数超出有效端口值范围(包括0到65535)。 - 另请参阅:
-
createSocket
public abstract Socket createSocket(String host, int port, InetAddress localHost, int localPort) throws IOException, UnknownHostException 创建一个套接字并将其连接到指定的远程主机的指定远程端口。套接字还将绑定到提供的本地地址和端口。此套接字使用为此工厂建立的套接字选项进行配置。如果存在安全管理器,则将使用主机地址和
port
作为其参数调用其checkConnect
方法。这可能导致SecurityException。- 参数:
-
host
- 要连接的服务器主机名,或null
表示回送地址。 -
port
- 服务器端口 -
localHost
- 套接字绑定到的本地地址 -
localPort
- 套接字绑定到的本地端口 - 返回:
-
Socket
- 抛出:
-
IOException
- 创建套接字时发生I/O错误 -
SecurityException
- 如果存在安全管理器且其checkConnect
方法不允许该操作。 -
UnknownHostException
- 如果主机未知 -
IllegalArgumentException
- 如果端口参数或localPort参数超出有效端口值范围(包括0到65535)。 - 另请参阅:
-
createSocket
创建一个套接字并将其连接到指定地址的指定端口号。此套接字使用为此工厂建立的套接字选项进行配置。如果存在安全管理器,则将使用主机地址和
port
作为其参数调用其checkConnect
方法。这可能导致SecurityException。- 参数:
-
host
- 服务器主机 -
port
- 服务器端口 - 返回:
-
Socket
- 抛出:
-
IOException
- 创建套接字时发生I/O错误 -
SecurityException
- 如果存在安全管理器且其checkConnect
方法不允许该操作。 -
IllegalArgumentException
- 如果端口参数超出有效端口值范围(包括0到65535)。 -
NullPointerException
- 如果host
为null。 - 另请参阅:
-
createSocket
public abstract Socket createSocket(InetAddress address, int port, InetAddress localAddress, int localPort) throws IOException 创建一个套接字并将其连接到指定的远程地址的指定远程端口。套接字还将绑定到提供的本地地址和端口。此套接字使用为此工厂建立的套接字选项进行配置。如果存在安全管理器,则将使用主机地址和
port
作为其参数调用其checkConnect
方法。这可能导致SecurityException。- 参数:
-
address
- 服务器网络地址 -
port
- 服务器端口 -
localAddress
- 客户端网络地址 -
localPort
- 客户端端口 - 返回:
-
Socket
- 抛出:
-
IOException
- 创建套接字时发生I/O错误 -
SecurityException
- 如果存在安全管理器且其checkConnect
方法不允许该操作。 -
IllegalArgumentException
- 如果端口参数或localPort参数超出有效端口值范围(包括0到65535)。 -
NullPointerException
- 如果address
为null。 - 另请参阅:
-