IOService:
这个接口是服务端IOAcceptor、客户端IOConnector的抽象。
功能:
- .会话管理:创建、删除会话,检测空闲会话
- 过滤器链管理:处理过滤器链,允许用户改变过滤器链
- 调用处理器:当接收到新消息时调用处理器
- 统计管理:更新发送的消息数、字节数及其他数据
- 监听器管理:管理可配置的监听器
- 通信管理:处理客户端和服务器间的数据传输
- TransportMetadata 个体TransportMetadata():获取传输方式的元数据描述信息[基于什么方式实现的,nio/apr等]
- void addListener(IoServiceListener listener):给IoService创建一个监听器,监听Ioservice的创建、活动、闲置、销毁
- void setHandler(IoHandler handler):这个方法用于向IoService 注册IoHandler,同时有getHandler()方法获取Handler
- Map<Long,IoSession> getManagedSessions():这个方法获取IoService 上管理的所有IoSession,Map 的key 是IoSession 的id
- IoSessionConfig getSessionConfig():获取IoSession 的配置对象,通过IoSessionConfig 对象可以设置Socket 连接的一些选项
- isDisposing:返回当前的服务是否正在运行中。
- getFilterChainBuilder:返回当前服务的过滤器链构造器
- setFilterChainBuilder:定义这个服务所使用的过滤器链构造器。
- isActive:当前服务是否是激活的。
- getActivationTime:返回当前服务的激活时间。如果当前服务已处于非激活状态,则返回去最后一次的激活时间。
IoAcceptor:(服务端子接口)
负责在客户端和服务器之间建立一个新的连接。这个服务器接收连接输入的请求。
实现类:
- NioSocketAcceptor :这是一个非阻塞Socket通信的IoAcceptor
- NioDatagramAcceptor : 这是一个非阻塞的UDP 通信 IoAcceptor
- AprSocketAcceptor : 这是一个基于APR的阻塞Socket 通信 IoAcceptor
- VmPipeSocketAcceptor :这是一个VM内部通信 IoAcceptor
IoConnector:(客户端子接口)
- NioSocketConnector : 非阻塞的Socket 通信 IoConnector
- NioDatagramConnector : 非阻塞的UDP 通信 IoConnector
- AprSocketConnector :基于APR的阻塞 Socket 通信 IoConnector
- ProxyConnector : 一个提供代理支持的 IoConnector
- SerialConnector : 一个支持串行通信的IoConnector
- VmPipeConnector : 一个VM内通信的 IoConnector