二、SocketContext
2. 异步通信基础使用说明
由于基于 AIO 和 NIO 通信的服务端类、客户端类、会话类暴露的方法都是相同,这里就只作一次说明,以下代码中可以使用 A 和 N,分别代表 AioServerSocket 和 NioServerSocket。以下其他类似函数中号的使用是类似的。
2.1 Socket连接上下文类
org.voovan.network.SocketContext
在以下2.1.2和2.1.3中讲解的类均继承于这个基类
public SocketContext(String host,int port,int readTimeout)
- 构造一个Socket服务端类。
- host: 服务发布地址。
- port: 服务发布端口。
- readTimeout: 读取超时时间。
public Chain<IoFilter> filterChain()
- 获取过滤器链。
- 返回值: 过滤器链,可以通过这个过滤器链来管理过滤器。
public IoHandler handler()
- 获取业务处理句柄。
- 返回值: 业务处理句柄。
public void handler(IoHandler handler)
- 设置消息粘包分割器。
- handler: 消息粘包分割器。
public MessageSplitter messageSplitter()
- 获取消息粘包分割器。
- 返回值: 消息粘包分割器。
public void messageSplitter(MessageSplitter messageSplitter)
- 设置业务处理句柄。
- handler: 业务处理句柄。
public ConnectModel getConnectModel()
- 获取连接模式。
- 返回值: 连接模式
- ConnectModel.SERVER: 服务模式,这个连接由 SocketServer 的 Accept 发起的连接。
- ConnectModel.CLIENT: 客户端模式,这个连接由 SocketClient 直接发起的连接。
public String getHost()
- 获取当前Host地址。
- 返回值: 当前Host地址。
public int getPort()
- 获取当前Port端口号。
- 返回值: 当前Port端口号。
public int getReadTimeout()
- 获取当前超时时间。
- 返回值: 当前超时时间。