public abstract class SocketContext extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
protected int |
bufferSize |
protected ConnectModel |
connectModel |
protected Chain<IoFilter> |
filterChain |
protected IoHandler |
handler |
protected String |
host |
protected int |
idleInterval |
protected MessageSplitter |
messageSplitter |
protected int |
port |
protected int |
readTimeout |
protected SSLManager |
sslManager |
| 限定符 | 构造器和说明 |
|---|---|
protected |
SocketContext()
无参数构造函数
|
|
SocketContext(String host,
int port,
int readTimeout)
构造函数
默认不会出发空闲事件
|
|
SocketContext(String host,
int port,
int readTimeout,
int idleInterval)
构造函数
|
| 限定符和类型 | 方法和说明 |
|---|---|
protected abstract void |
acceptStart()
用于针对 Accept 进来的 Socket 连接的启动
|
abstract boolean |
close()
关闭连接
|
protected void |
copyFrom(SocketContext parentSocketContext)
克隆对象
|
Chain<IoFilter> |
filterChain()
获取过滤器链
|
int |
getBufferSize()
获取缓冲区大小
|
ConnectModel |
getConnectModel()
获取连接模式
|
String |
getHost()
获取主机地址
|
int |
getIdleInterval()
获取空闲事件时间
|
int |
getPort()
获取主机端口
|
int |
getReadTimeout()
获取超时时间
|
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)
设置消息粘包分割器
|
void |
setBufferSize(int bufferSize)
设置缓冲区大小
|
abstract void |
setIdleInterval(int idleInterval)
设置空闲事件时间
|
abstract <T> void |
setOption(SocketOption<T> name,
T value)
设置 Socket 的 Option 选项
|
void |
setSSLManager(SSLManager sslManager)
设置 SSL 管理器
|
abstract void |
start()
启动上下文连接
阻塞方法
|
abstract void |
syncStart()
启动同步的上下文连接
非阻塞方法
|
protected void |
waitConnected(IoSession session)
等待连接完成
|
protected String host
protected int port
protected int readTimeout
protected IoHandler handler
protected MessageSplitter messageSplitter
protected SSLManager sslManager
protected ConnectModel connectModel
protected int bufferSize
protected int idleInterval
public SocketContext(String host, int port, int readTimeout)
host - 主机地址port - 主机端口readTimeout - 超时时间public SocketContext(String host, int port, int readTimeout, int idleInterval)
host - 主机地址port - 主机端口idleInterval - 空闲事件触发时间, 单位: 秒readTimeout - 超时时间protected SocketContext()
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 getBufferSize()
public void setBufferSize(int bufferSize)
bufferSize - 缓冲区大小 (default:1024)public SSLManager getSSLManager()
public void setSSLManager(SSLManager sslManager)
sslManager - SSL 管理器public String getHost()
public int getPort()
public int getReadTimeout()
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 © 2017 Voovan. All rights reserved.