public abstract class SocketFactory extends Object
套接字工厂是捕获与正在构建的套接字有关的各种策略的简单方法,以不需要特殊配置代码的方式生成这样的套接字:
工厂类由环境特定的配置机制指定。 例如, getDefault方法可以返回适合于特定用户或小程序的工厂,并且框架可以使用为自己的目的定制的工厂。
ServerSocketFactory
| Modifier | Constructor and Description |
|---|---|
protected |
SocketFactory()
创建一个
SocketFactory 。
|
| Modifier and Type | Method and Description |
|---|---|
Socket |
createSocket()
创建一个未连接的套接字。
|
abstract Socket |
createSocket(InetAddress host, int port)
创建套接字并将其连接到指定地址处的指定端口号。
|
abstract Socket |
createSocket(InetAddress address, int port, InetAddress localAddress, int localPort)
创建套接字并将其连接到指定远程端口上指定的远程地址。
|
abstract Socket |
createSocket(String host, int port)
创建套接字并将其连接到指定的远程端口上的指定远程主机。
|
abstract Socket |
createSocket(String host, int port, InetAddress localHost, int localPort)
创建套接字并将其连接到指定远程端口上的指定远程主机。
|
static SocketFactory |
getDefault()
返回环境默认套接字工厂的副本。
|
public static SocketFactory getDefault()
SocketFactory
public Socket createSocket() throws IOException
IOException - 如果无法创建套接字
Socket.connect(java.net.SocketAddress) ,
Socket.connect(java.net.SocketAddress, int) ,
Socket.Socket()
public abstract Socket createSocket(String host, int port) throws IOException, UnknownHostException
如果有一个安全管理器,它的checkConnect方法被调用主机地址和port作为其参数。 这可能会导致SecurityException。
host - 用于连接的服务器主机名,或
null的环回地址。
port - 服务器端口
Socket
IOException - 如果在创建套接字时发生I / O错误
SecurityException - 如果安全管理器存在,并且其
checkConnect方法不允许该操作。
UnknownHostException - 如果主机不知道
IllegalArgumentException - 如果端口参数超出指定范围的有效端口值(介于0和65535之间),包括0和65535之间。
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
如果有一个安全管理器,它的checkConnect方法被调用主机地址和port作为其参数。 这可能会导致SecurityException。
host - 用于连接的服务器主机名,或
null的环回地址。
port - 服务器端口
localHost - 套接字所绑定的本地地址
localPort - 套接字绑定的本地端口
Socket
IOException - 如果在创建套接字时发生I / O错误
SecurityException - 如果安全管理器存在,并且其
checkConnect方法不允许操作。
UnknownHostException - 如果主机不知道
IllegalArgumentException - 如果端口参数或localPort参数在超出指定范围的有效端口值(介于0和65535之间),包括0和65535之间。
SecurityManager.checkConnect(java.lang.String, int) ,
Socket.Socket(String, int, java.net.InetAddress, int)
public abstract Socket createSocket(InetAddress host, int port) throws IOException
如果有一个安全管理器,它的checkConnect方法被调用主机地址和port作为其参数。 这可能会导致SecurityException。
host - 服务器主机
port - 服务器端口
Socket
IOException - 如果在创建套接字时发生I / O错误
SecurityException - 如果安全管理器存在,并且其
checkConnect方法不允许操作。
IllegalArgumentException - 如果端口参数超出了有效端口值的指定范围(介于0和65535之间),包括0和65535之间。
NullPointerException - 如果
host为空。
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
如果有一个安全管理器,它的checkConnect方法被调用主机地址和port作为其参数。 这可能会导致SecurityException。
address - 服务器网络地址
port - 服务器端口
localAddress - 客户端网络地址
localPort - 客户端口
Socket
IOException - 如果在创建套接字时发生I / O错误
SecurityException - 如果安全管理器存在,并且其
checkConnect方法不允许操作。
IllegalArgumentException - 如果端口参数或localPort参数超出有效端口值的指定范围(介于0和65535之间),包括0和65535之间。
NullPointerException - 如果
address为空。
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, 2014, Oracle and/or its affiliates. All rights reserved.