关于mina框架

一、适用场景:

Mina是基于TCP/IP、UDP/IP协议栈的通信框架。适用于快速开发高性能、高扩展性的网络应用。底层依赖的主要是Java NIO库,上层提供的是基于事件的异步接口。

二、整体结构:

  1. IoService:最底层服务,负责具体IO相关工作。如IOSocketAcceptor和IOSocketChannel,它们分别对应TCP协议下的客户端和服务端的IoService。IoService的意义在于隐藏了底层IO的细节,对上层提供统一的基于事件的异步IO接口。每当有数据到达时,IoService会调用底层IO读取数据,封装成IoBuffer,最后以事件的形式通知上层应用。
  2. IoProcessor:异步线程用于检查是否有数据在通道上读写。另外,负责调用注册在IoService上的过滤器,并在过滤后调用IoHandler。
  3. IoFilter:定义一组拦截器。拦截包括日志输出、黑名单过滤、数据编码与解码。
  4. IoHandler:复杂实现业务逻辑,用接收和发送数据,是Mina处理流程的终点。
  5. IoSession:对底层连接的封装,通过IoSession,可以获取当前连接的上下文信息,以及向远程节点异步发送数据。发送的数据会通过IoFilterChain到达IoService,IoService会将本次发送请求封装成为一个WriteRequest存入session中的writeRequestQueue中,最后由IoProcessor统一调度。

猜你喜欢

转载自blog.csdn.net/qq_28665631/article/details/80607776
今日推荐