在Apache Mina中,IoFilter介于IoService和IoHanlder之间,该IO过滤器对所有的输入、输出事件进行过滤,其在Apache Mina中的地位不可忽视,Apache Mina框架自身实现了很多过滤器,现将其作用总结一下:

1、BlacklistFilter:该过滤器称为黑名单过滤器,该过滤器用于阻止特定IP地址的访问Apache Mina服务端。其使用方法如下:

private void addFilter(IoAcceptor acceptor) throws UnknownHostException{BlacklistFilter blacklistFilter = new BlacklistFilter(); InetAddress[] inetAddress = new InetAddress[1];inetAddress[0]=InetAddress.getByName("169.254.11.186"); blacklistFilter.setBlacklist(inetAddress);acceptor.getFilterChain().addFirst("black",blacklistFilter);
}

注意:该过滤器只用于Apache Mina服务端。

2、LoggingFilter:该过滤器称为日志过滤器,用于将Apache Mina运行情况输出到指定的日志文件中。其使用方法如下:

服务端:

private void addFilter(IoAcceptor acceptor) throws UnknownHostException{acceptor.getFilterChain().addFirst("logger", new LoggingFilter());
}

客户端:

private void addFilter(NioSocketConnector connector) throws UnknownHostException{connector.getFilterChain().addFirst("logger", new LoggingFilter());
}

3、ProtocolCodecFilter:该过滤器称为协议解码器,负责对文本字符串进行解编码。。其使用方法如下:

服务端:

private void addFilter(IoAcceptor acceptor) throws UnknownHostException{acceptor.getFilterChain().addFirst("codec", new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName("UTF-8"))));
}

客户端:

private void addFilter(NioSocketConnector connector) throws UnknownHostException{connector.getFilterChain().addFirst("codec", new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName("UTF-8"))));
}

4、CompressionFilter:该过滤器称为压缩过滤器,用于在设置输入、输出流时启用JZlib压缩

Apache Mina框架自身实现的过滤器相关推荐

  1. 搭建Apache Mina框架并实现Server与Client端的简单消息传递

    http://www.himigame.com/apache-mina/831.html :(作者新浪微博: @李华明Himi ) 转载自[黑米GameDev街区] 原文链接: http://www. ...

  2. 【Apache Mina2.0开发之一】搭建Apache Mina框架并实现Server与Client端消息传递

    Hibernate系列学习阶段到此结束了,那么紧接着进入Apache Mina的开发学习,很多童鞋在微薄和QQ中疑问Himi为什么突然脱离游戏开发了,嘿嘿,其实可能更多的童鞋已经看出来了,Himi在偏 ...

  3. 【Apache Mina2.0开发之一】搭建Apache Mina框架并实现Server与Client端的简单消息传递!

    Hibernate系列学习阶段到此结束了,那么紧接着进入Apache Mina的开发学习,很多童鞋在微薄和QQ中疑问Himi为什么突然脱离游戏开发了,嘿嘿,其实可能更多的童鞋已经看出来了,Himi在偏 ...

  4. Apache MINA框架快速入门

    一.为什么要用MINA框架 Apache Mina是一个网络通信应用框架,是基于TCP/IP.UDP/IP协议栈的通信框架,Mina 的异步IO 默认使用的是JAVA NIO 作为底层支持,具有高性能 ...

  5. Apache MiNa 实现多人聊天室

    Apache MiNa 实现多人聊天室 开发环境: System:Windows JavaSDK:1.6 IDE:eclipse.MyEclipse 6.6 开发依赖库: Jdk1.4+.mina-c ...

  6. java mina框架实例_Apache Mina框架实践

    1.为什么要用Apache Mina框架 ApacheMina Server 是一个网络通信应用框架,Mina 可以帮助我们快速开发高性能.高扩展性的网络通信应用,Mina 提供了事件驱动.异步(Mi ...

  7. Apache NIO 框架 Mina 使用中出现 too many open files 有关...

    2019独角兽企业重金招聘Python工程师标准>>> 时间: 2013-04-08 17:01:26.0 分类:  软件工程/管理 /  开发方法 /  文章 Apache NIO ...

  8. Apache Mina 介绍

    为什么80%的码农都做不了架构师?>>>    1.MINA 框架简介 下图为本人根据对MINA的简要理解,所画出来的框架简图: Apache MINA 是一个网络应用框架,有助于用 ...

  9. 基于MINA框架快速开发网络应用程序

    1.MINA框架简介  MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架.通过使用 ...

  10. Apache Mina开发手册

    作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.介绍 Apache Mina是一个网络应用框架,简化用户开发高性能.高可扩展性的网络应用程序的难度.M ...

最新文章

  1. OpenCV——canny算子
  2. 0525 项目回顾7.0
  3. 有了这几个神器,瞬间逼格就上去了
  4. mysql z中文乱码_c#写入Mysql中文显示乱码 解决方法 z
  5. dubbo service注解用法_Dubbo---开源分布式服务框架(一)
  6. Mac中ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
  7. java中path和classpath_java中的环境变量path和classpath的作用-Go语言中文社区
  8. SpringSecurity集中式整合之授权操作
  9. c语言a 寻路算法,JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
  10. 用dl元素编辑html个人信息,html dl dt dd标签元素语法结构与使用
  11. 开发技术--设计模式
  12. 获取简单的输入和渲染窗口(Hello Window)
  13. SQLServer数据库增、删、改、查简单操作示例
  14. 机械臂动力学建模(2)- Kane凯恩算法
  15. linux 桌面什么图标好看,Xenlism WildFire:Linux桌面下的一款漂亮图标主题
  16. fiddler连接代理手机无法上网问题解决办法
  17. 初谈证券交易系统开发核心
  18. 云从科技上市在即,或成为小一号的商汤科技?
  19. 小型电话薄管理系统(Mysql数据库)
  20. MySQL Workbench生成数据表关系图

热门文章

  1. $科大讯飞开放平台——语音听写接口的使用
  2. Thinking in Java Chapter 14
  3. 做创业公司长期价值的共建者,高榕资本完成5亿美元新基金募资
  4. Maven 项目添加jetty 插件
  5. position 属性和 z-index 属性对页面节点层级影响的例子
  6. composer安装和使用
  7. 记使用sed的一次坑
  8. Windows server 2008下查找 w3wp.exe对应的Appoolid
  9. 将服务费用DIY到底----走出软件作坊:三五个人十来条枪 如何成为开发正规军(十)...
  10. 8.Kong入门与实战 基于Nginx和OpenResty的云原生微服务网关 --- 指标监控与报警