WEB开发网
开发学院软件开发Java 深入理解Apache Mina (2)---- 与IoFilter相... 阅读

深入理解Apache Mina (2)---- 与IoFilter相关的几个类

 2009-09-16 00:00:00 来源:WEB开发网   
核心提示: 上图表示了数据在本程序中通过过滤器链的过程,日志过滤器是根据会话 (IoSession)的状态(创建、开启、发送、接收、异常等等)来记录会话的事件信息的,深入理解Apache Mina (2)---- 与IoFilter相关的几个类(5),编解码器是根据会话的接收和发送数据来触发事件的,从这里我

上图表示了数据在本程序中通过过滤器链的过程,日志过滤器是根据会话 (IoSession)的状态(创建、开启、发送、接收、异常等等)来记录会话的事件信息的,编解码器是根据会话的接收和发送数据来触发事件的,从这里我们也可以了解通过过滤器我们可以专门针对会话的某个或某几个状态来专门处理相关的事件,如异常事件,我们可以专门定义一个Exception的 IoFilter来处理Mina在通信中所发生的异常信息。

还有一个比较有意思的问题是,假如我们将上面过滤器的顺序该成下面的样子:

Java代码   

 config.getFilterChain().addLast("logger", new LoggingFilter());//添加日志工具 
    // 配置数据的编解码器 
 config.getFilterChain().addLast("codec", 
  new ProtocolCodecFilter(new ObjectSerializationCodecFactory())); 
 
 
程序的执行结果如下: 
 已经连接到了服务器 localhost/127.0.0.1:4321 
2009-7-10 0:30:12 org.apache.mina.util.SessionLog info 
信息: [localhost/127.0.0.1:4321] CREATED 
2009-7-10 0:30:12 org.apache.mina.util.SessionLog info 
信息: [localhost/127.0.0.1:4321] OPENED 
2009-7-10 0:30:12 org.apache.mina.util.SessionLog info 
信息: [localhost/127.0.0.1:4321] RECEIVED: DirectBuffer[pos=0 lim=56 cap=1024: 00 00 00 34 AC ED 00 05 74 00 2D 20 20 E6 9C 8D E5 8A A1 E5 99 A8 E5 88 9B E5 BB BA E4 BC 9A E8 AF 9D 
 
E6 97 B6 E5 8F 91 E9 80 81 E7 9A 84 E4 BF A1 E6 81 AF 20 E3 80 82] 
 客户端接收到的服务器的信息是  服务器创建会话时发送的信息 。 

上一页  1 2 3 4 5 6  下一页

Tags:深入 理解 Apache

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接