zoukankan      html  css  js  c++  java
  • Mina学习之IoFilter

    IoFilter 是MINA中的一个核心结构,扮演了非常重要的角色。IoFilter在IoService和IoHandler过滤了所有的I/O 事件和请求。如果你有做个web项目的经验,则很类似于web中的

    filter。为了加快开发效率,Mina提供了很多的filter,例如:

    1. LoggingFilter: 记录下所有事件和请求的日志

    2. ProtocolCodeFilter:将字节流转换成业务对象。

    3. CompressionFilter:压缩所有的数据

    4. SSLFilter 

    这里,我们将展示如何在一个例子中实现IoFilter, 实现IoFilter接口会很容易,但我们需要知道些Mina内部的细节。

    1. Filters alreay present

    当前已有很多写好的filters,下图展示了这些已存在的Filter以及一些简单的说明(想查看各个filter更详细的信息,上官网:http://mina.apache.org/mina-project/userguide/ch5-filters/ch5-filters.html)

    Overriding Events Selectively

    我们可以通过继承IoAdapter 来替代直接实现IoFilter接口,任何收到的事件在一个fiter处理完之后直接交由下一个filter处理。

    public class MyFilter extends IoFilterAdapter {
        @Override
        public void sessionOpened(NextFilter nextFilter, IoSession session) throws Exception {
            // Some logic here...
            nextFilter.sessionOpened(session);
            // Some other logic here...
        }
    }


  • 相关阅读:
    【APUE】一个fork的面试题及字符设备、块设备的区别
    【stl学习笔记】set、multiset
    【stl学习笔记】红黑树
    颜色
    Android之ActionBar与菜单
    Listview不显示的问题学习
    IM学习过程
    android filter
    sort()排序 collections.sort();
    notification使用
  • 原文地址:https://www.cnblogs.com/marcotan/p/4256972.html
Copyright © 2011-2022 走看看