public class Connection extends Object implements Serializable
| Modifier and Type | Class and Description |
|---|---|
static class |
Connection.Protocol |
| Modifier and Type | Field and Description |
|---|---|
static int |
DEF_BACKLOG |
static int |
DEF_BUFFERSIZE |
static int |
DEF_MAX_PDU_LENGTH |
static int |
DEF_SOCKETDELAY |
static String[] |
DEFAULT_TLS_PROTOCOLS |
static int |
NO_TIMEOUT |
static int |
NOT_LISTENING |
static int |
SYNCHRONOUS_MODE |
static String |
TLS_RSA_WITH_3DES_EDE_CBC_SHA |
static String |
TLS_RSA_WITH_AES_128_CBC_SHA |
static String |
TLS_RSA_WITH_NULL_SHA |
| Constructor and Description |
|---|
Connection() |
Connection(String commonName,
String hostname) |
Connection(String commonName,
String hostname,
int port) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
bind()
将此网络连接绑定到TCP端口并启动服务器套接字* accept循环
|
void |
close(Socket s) |
Socket |
connect(Connection remoteConn) |
DatagramSocket |
createDatagramSocket() |
boolean |
equalsRDN(Connection other) |
int |
getAcceptTimeout() |
int |
getBacklog() |
String |
getBindAddress()
|
InetSocketAddress |
getBindPoint() |
String[] |
getBlacklist()
获取我们应忽略的IP地址列表
在使用负载均衡器的环境中很有用。对于来自负载平衡交换机的TCP ping
我们不想剥离新的*线程并尝试协商关联。
|
String |
getClientBindAddress()
|
InetSocketAddress |
getClientBindPoint() |
String |
getCommonName()
网络连接对象的任意名称可以是一个有意义的*名称或任何唯一的字符序列
|
int |
getConnectTimeout() |
Device |
getDevice()
获取此网络连接所属的Device对象
|
InetSocketAddress |
getEndPoint() |
String |
getHostname()
这是此特定连接的DNS名称
用于获取连接的当前IP地址主机名必须具有足够的资格
对于任何客户端DNS用户而言都是明确的
|
String |
getHttpProxy() |
int |
getIdleTimeout() |
Boolean |
getInstalled() |
SocketListener |
getListener() |
int |
getMaxOpsInvoked() |
int |
getMaxOpsPerformed() |
int |
getPort()
AE正在侦听的TCP端口,或-1表示仅启动关联的网络连接
|
Connection.Protocol |
getProtocol() |
int |
getReceiveBufferSize()
获取以KB为单位的SO_RCVBUF套接字值
|
int |
getReceivePDULength() |
int |
getReleaseTimeout()
接收A-RELEASE-RP的超时时间,默认为5000
|
int |
getRequestTimeout()
接收A-ASSOCIATE-RQ的超时时间,默认为5000
|
int |
getResponseTimeout() |
int |
getRetrieveTimeout() |
int |
getSendBufferSize()
获取以KB为单位的SO_SNDBUF套接字选项值
|
int |
getSendPDULength() |
int |
getSocketCloseDelay()
发送A-ABORT后,套接字关闭的延迟时间(以毫秒为单位),默认为50毫秒
|
String[] |
getTlsCipherSuites()
此特定连接上支持的TLS CipherSuite
TLS CipherSuites必须使用RFC-2246字符串
表示形式进行描述(例如“ SSL_RSA_WITH_3DES_EDE_CBC_SHA")
|
String[] |
getTlsProtocols() |
boolean |
isBlackListed(InetAddress ia) |
boolean |
isCompatible(Connection remoteConn) |
boolean |
isInstalled()
如果网络上安装了网络连接,则为True如果不存在
则将从设备继承有关网络连接*的安装状态的信息
|
boolean |
isListening() |
boolean |
isPackPDV() |
boolean |
isRebindNeeded() |
boolean |
isRetrieveTimeoutTotal() |
boolean |
isServer() |
boolean |
isTcpNoDelay()
确定此网络连接是否正在将Nagle的算法用作其网络通信的一部分
|
boolean |
isTls() |
boolean |
isTlsNeedClientAuth() |
void |
needRebind() |
StringBuilder |
promptTo(StringBuilder sb,
String indent) |
void |
rebind() |
void |
reconfigure(Connection from) |
static TCPHandler |
registerTCPProtocolHandler(Connection.Protocol protocol,
TCPHandler handler) |
static UDPHandler |
registerUDPProtocolHandler(Connection.Protocol protocol,
UDPHandler handler) |
void |
setAcceptTimeout(int timeout) |
void |
setBacklog(int backlog) |
void |
setBindAddress(String bindAddress)
|
void |
setBlacklist(String[] blacklist)
设置一个IP地址列表,我们应从中忽略连接
在使用负载均衡器的环境中很有用对于来自负载平衡交换机的TCP ping
我们不想剥离新的*线程并尝试协商关联
|
void |
setClientBindAddress(String bindAddress)
|
void |
setCommonName(String name)
网络连接对象的任意名称可以是一个有意义的*名称或任何唯一的字符序列
|
void |
setConnectTimeout(int timeout) |
void |
setDevice(Device device)
设置此网络连接所属的设备对象
|
void |
setHostname(String hostname)
这是此特定连接的DNS名称
用于获取连接的当前IP地址,主机名必须具有足够的资格
对于任何客户端DNS用户而言都是明确的
|
void |
setHttpProxy(String proxy) |
void |
setIdleTimeout(int idleTimeout) |
void |
setInstalled(Boolean installed)
如果网络上安装了网络连接,则为True如果不存在
则将从设备继承有关网络连接*的安装状态的信息
|
void |
setMaxOpsInvoked(int maxOpsInvoked) |
void |
setMaxOpsPerformed(int maxOpsPerformed) |
void |
setPackPDV(boolean packPDV) |
void |
setPort(int port)
AE正在侦听的TCP端口,或仅用于启动关联的网络连接
有效的端口值在0到65535之间
|
void |
setProtocol(Connection.Protocol protocol) |
void |
setReceiveBufferSize(DatagramSocket ds) |
void |
setReceiveBufferSize(int size)
将SO_RCVBUF套接字选项设置为以KB为单位的指定值
|
void |
setReceiveBufferSize(ServerSocket ss) |
void |
setReceivePDULength(int receivePDULength) |
void |
setReleaseTimeout(int timeout)
接收A-RELEASE-RP的超时时间,默认为5000
|
void |
setRequestTimeout(int timeout)
接收A-ASSOCIATE-RQ的超时时间,默认为5000
|
void |
setResponseTimeout(int timeout) |
void |
setRetrieveTimeout(int timeout) |
void |
setRetrieveTimeoutTotal(boolean retrieveTimeoutTotal) |
void |
setSendBufferSize(int size)
将SO_SNDBUF套接字选项设置为以KB为单位的指定值
|
void |
setSendPDULength(int sendPDULength) |
void |
setSocketCloseDelay(int delay)
发送A-ABORT后,套接字关闭的延迟时间(以毫秒为单位),默认为50毫秒
|
void |
setSocketSendOptions(Socket s) |
void |
setTcpNoDelay(boolean tcpNoDelay)
设置此网络连接是否应将Nagle的算法*作为其网络通信的一部分
|
void |
setTlsCipherSuites(String... tlsCipherSuites)
此特定连接上支持的TLS CipherSuite
TLS CipherSuites必须使用RFC-2246字符串
表示形式进行描述(例如"SSL_RSA_WITH_3DES_EDE_CBC_SHA")
|
void |
setTlsNeedClientAuth(boolean tlsNeedClientAuth) |
void |
setTlsProtocols(String... tlsProtocols) |
String |
toString() |
void |
unbind() |
static TCPHandler |
unregisterTCPProtocolHandler(Connection.Protocol protocol) |
static UDPHandler |
unregisterUDPProtocolHandler(Connection.Protocol protocol) |
boolean |
useHttpProxy() |
public static final int NO_TIMEOUT
public static final int SYNCHRONOUS_MODE
public static final int NOT_LISTENING
public static final int DEF_BACKLOG
public static final int DEF_SOCKETDELAY
public static final int DEF_BUFFERSIZE
public static final int DEF_MAX_PDU_LENGTH
public static final String TLS_RSA_WITH_NULL_SHA
public static final String TLS_RSA_WITH_3DES_EDE_CBC_SHA
public static final String TLS_RSA_WITH_AES_128_CBC_SHA
public static final String[] DEFAULT_TLS_PROTOCOLS
public static TCPHandler registerTCPProtocolHandler(Connection.Protocol protocol, TCPHandler handler)
public static TCPHandler unregisterTCPProtocolHandler(Connection.Protocol protocol)
public static UDPHandler registerUDPProtocolHandler(Connection.Protocol protocol, UDPHandler handler)
public static UDPHandler unregisterUDPProtocolHandler(Connection.Protocol protocol)
public final Device getDevice()
public final void setDevice(Device device)
device - 所属设备对象public final String getHostname()
public final void setHostname(String hostname)
hostname - 包含主机名的字符串public final String getBindAddress()
nullpublic final void setBindAddress(String bindAddress)
bindAddress - 监听套接字的绑定地址或nullpublic String getClientBindAddress()
public void setClientBindAddress(String bindAddress)
bindAddress - 传出连接的绑定地址或nullpublic Connection.Protocol getProtocol()
public void setProtocol(Connection.Protocol protocol)
public boolean isRebindNeeded()
public void needRebind()
public final String getCommonName()
public final void setCommonName(String name)
name - 包含名称的字符串public final int getPort()
public final void setPort(int port)
port - 端口号或-1public final String getHttpProxy()
public final void setHttpProxy(String proxy)
public final boolean useHttpProxy()
public final boolean isServer()
public final int getBacklog()
public final void setBacklog(int backlog)
public final int getConnectTimeout()
public final void setConnectTimeout(int timeout)
public final int getRequestTimeout()
public final void setRequestTimeout(int timeout)
timeout - 一个包含毫秒的int值public final int getAcceptTimeout()
public final void setAcceptTimeout(int timeout)
public final int getReleaseTimeout()
public final void setReleaseTimeout(int timeout)
timeout - 一个包含毫秒的int值public final int getSocketCloseDelay()
public final void setSocketCloseDelay(int delay)
delay - 一个包含毫秒的int值public final int getResponseTimeout()
public final void setResponseTimeout(int timeout)
public final int getRetrieveTimeout()
public final void setRetrieveTimeout(int timeout)
public final boolean isRetrieveTimeoutTotal()
public final void setRetrieveTimeoutTotal(boolean retrieveTimeoutTotal)
public final int getIdleTimeout()
public final void setIdleTimeout(int idleTimeout)
public String[] getTlsCipherSuites()
public void setTlsCipherSuites(String... tlsCipherSuites)
tlsCipherSuites - 包含受支持的密码套件的String数组public final boolean isTls()
public final String[] getTlsProtocols()
public final void setTlsProtocols(String... tlsProtocols)
public final boolean isTlsNeedClientAuth()
public final void setTlsNeedClientAuth(boolean tlsNeedClientAuth)
public final int getReceiveBufferSize()
public final void setReceiveBufferSize(int size)
size - 一个包含缓冲区大小(以KB为单位)public void setReceiveBufferSize(ServerSocket ss) throws SocketException
SocketExceptionpublic void setReceiveBufferSize(DatagramSocket ds) throws SocketException
SocketExceptionpublic final int getSendBufferSize()
public final void setSendBufferSize(int size)
size - 一个包含缓冲区大小(以KB为单位)public final int getSendPDULength()
public final void setSendPDULength(int sendPDULength)
public final int getReceivePDULength()
public final void setReceivePDULength(int receivePDULength)
public final int getMaxOpsPerformed()
public final void setMaxOpsPerformed(int maxOpsPerformed)
public final int getMaxOpsInvoked()
public final void setMaxOpsInvoked(int maxOpsInvoked)
public final boolean isPackPDV()
public final void setPackPDV(boolean packPDV)
public final boolean isTcpNoDelay()
public final void setTcpNoDelay(boolean tcpNoDelay)
tcpNoDelay - boolean如果应使用TCP无延迟(禁用Nagle算法)则为Truepublic boolean isInstalled()
public Boolean getInstalled()
public void setInstalled(Boolean installed)
installed - 如果网络上安装了NetworkConnection,则为Truepublic void rebind()
throws IOException,
GeneralSecurityException
IOExceptionGeneralSecurityExceptionpublic final String[] getBlacklist()
public final void setBlacklist(String[] blacklist)
blacklist - IP地址列表,应将其忽略public StringBuilder promptTo(StringBuilder sb, String indent)
public void setSocketSendOptions(Socket s) throws SocketException
SocketExceptionpublic InetSocketAddress getEndPoint() throws UnknownHostException
UnknownHostExceptionpublic InetSocketAddress getBindPoint() throws UnknownHostException
UnknownHostExceptionpublic InetSocketAddress getClientBindPoint() throws UnknownHostException
UnknownHostExceptionpublic boolean bind()
throws IOException,
GeneralSecurityException
IOException - 网络交互是否有问题GeneralSecurityException - 异常public final boolean isListening()
public boolean isBlackListed(InetAddress ia)
public void unbind()
public Socket connect(Connection remoteConn) throws IOException, org.aoju.bus.core.lang.exception.InstrumentException, GeneralSecurityException
IOExceptionorg.aoju.bus.core.lang.exception.InstrumentExceptionGeneralSecurityExceptionpublic DatagramSocket createDatagramSocket() throws IOException
IOExceptionpublic SocketListener getListener()
public void close(Socket s)
public boolean isCompatible(Connection remoteConn)
public boolean equalsRDN(Connection other)
public void reconfigure(Connection from)
Copyright © 2020. All rights reserved.