public abstract class SocketContext extends Object
| Modifier and Type | Field and Description |
|---|---|
protected static AsynchronousChannelGroup |
ASYNCHRONOUS_CHANNEL_GROUP |
protected ConnectModel |
connectModel |
protected Chain<IoFilter> |
filterChain |
protected IoHandler |
handler |
protected String |
host |
protected int |
idleInterval |
protected MessageSplitter |
messageSplitter |
protected int |
port |
protected int |
readBufferSize |
protected int |
readRecursionDepth |
protected int |
readTimeout |
protected int |
sendBufferSize |
protected int |
sendTimeout |
protected SSLManager |
sslManager |
| Modifier | Constructor and Description |
|---|---|
protected |
SocketContext()
无参数构造函数
|
|
SocketContext(String host,
int port,
int readTimeout)
构造函数
默认不会出发空闲事件, 默认发超时时间: 1s
|
|
SocketContext(String host,
int port,
int readTimeout,
int idleInterval)
构造函数
默认发超时时间: 1s
|
|
SocketContext(String host,
int port,
int readTimeout,
int sendTimeout,
int idleInterval)
构造函数
|
| Modifier and Type | Method and Description |
|---|---|
protected abstract void |
acceptStart()
用于针对 Accept 进来的 Socket 连接的启动
|
static AsynchronousChannelGroup |
buildAsynchronousChannelGroup()
构造一个异步通道线程组
|
abstract boolean |
close()
关闭连接
|
protected void |
copyFrom(SocketContext parentSocketContext)
克隆对象
|
Chain<IoFilter> |
filterChain()
获取过滤器链
|
ConnectModel |
getConnectModel()
获取连接模式
|
String |
getHost()
获取主机地址
|
int |
getIdleInterval()
获取空闲事件时间
|
int |
getPort()
获取主机端口
|
int |
getReadBufferSize() |
int |
getReadRecursionDepth()
获取读递归深度控制
|
int |
getReadTimeout()
获取超时时间
|
int |
getSendBufferSize() |
int |
getSendTimeout() |
SSLManager |
getSSLManager()
获取 SSL 管理器
|
IoHandler |
handler()
获取业务处理句柄
|
void |
handler(IoHandler handler)
设置业务处理句柄
|
protected void |
initSSL(IoSession session) |
abstract boolean |
isConnected()
上下文连接是否连接
|
abstract boolean |
isOpen()
上下文连接是否打开
|
MessageSplitter |
messageSplitter()
获取消息粘包分割器
|
void |
messageSplitter(MessageSplitter messageSplitter)
设置消息粘包分割器
|
abstract void |
setIdleInterval(int idleInterval)
设置空闲事件时间
|
abstract <T> void |
setOption(SocketOption<T> name,
T value)
设置 Socket 的 Option 选项
|
void |
setReadBufferSize(int readBufferSize) |
void |
setReadRecursionDepth(int readRecursionDepth)
设置读递归深度控制
|
void |
setSendBufferSize(int sendBufferSize) |
void |
setSSLManager(SSLManager sslManager)
设置 SSL 管理器
|
abstract void |
start()
启动上下文连接
阻塞方法
|
abstract void |
syncStart()
启动同步的上下文连接
非阻塞方法
|
protected void |
waitConnected(IoSession session)
等待连接完成
|
protected static AsynchronousChannelGroup ASYNCHRONOUS_CHANNEL_GROUP
protected String host
protected int port
protected int readTimeout
protected int sendTimeout
protected IoHandler handler
protected MessageSplitter messageSplitter
protected SSLManager sslManager
protected ConnectModel connectModel
protected int readBufferSize
protected int sendBufferSize
protected int idleInterval
protected int readRecursionDepth
public SocketContext(String host, int port, int readTimeout)
host - 主机地址port - 主机端口readTimeout - 超时时间public SocketContext(String host, int port, int readTimeout, int idleInterval)
host - 主机地址port - 主机端口readTimeout - 读超时时间, 单位: 毫秒idleInterval - 空闲事件触发时间public SocketContext(String host, int port, int readTimeout, int sendTimeout, int idleInterval)
host - 主机地址port - 主机端口readTimeout - 读超时时间, 单位: 毫秒sendTimeout - 发超时时间, 单位: 毫秒idleInterval - 空闲事件触发时间protected SocketContext()
public static AsynchronousChannelGroup buildAsynchronousChannelGroup()
protected void initSSL(IoSession session) throws SSLException
SSLExceptionprotected void copyFrom(SocketContext parentSocketContext)
parentSocketContext - 父 socket 对象public int getIdleInterval()
public abstract void setIdleInterval(int idleInterval)
idleInterval - 空闲事件时间, 单位:秒public abstract <T> void setOption(SocketOption<T> name, T value) throws IOException
T - 范型name - SocketOption类型的枚举, 参照:AsynchronousSocketChannel.setOption的说明value - SocketOption参数IOException - IO异常public int getReadBufferSize()
public void setReadBufferSize(int readBufferSize)
public int getSendBufferSize()
public void setSendBufferSize(int sendBufferSize)
public int getReadRecursionDepth()
public void setReadRecursionDepth(int readRecursionDepth)
readRecursionDepth - 读递归深度public SSLManager getSSLManager()
public void setSSLManager(SSLManager sslManager)
sslManager - SSL 管理器public String getHost()
public int getPort()
public int getReadTimeout()
public int getSendTimeout()
public ConnectModel getConnectModel()
public IoHandler handler()
public void handler(IoHandler handler)
handler - 业务处理句柄public MessageSplitter messageSplitter()
public void messageSplitter(MessageSplitter messageSplitter)
messageSplitter - 消息分割器public abstract void start()
throws IOException
IOException - IO 异常public abstract void syncStart()
throws IOException
IOException - IO异常protected abstract void acceptStart()
throws IOException
IOException - IO异常protected void waitConnected(IoSession session)
session - socket 会话对象public abstract boolean isOpen()
public abstract boolean isConnected()
public abstract boolean close()
Copyright © 2019 Voovan. All rights reserved.