Apache_MINA_快速入门.pdfVIP

  • 5
  • 0
  • 约4.5千字
  • 约 5页
  • 2017-06-05 发布于河南
  • 举报
Apache_MINA_快速入门

1介绍 Apache MINA 是一个网络应用框架,有助于用户非常方便地开发高性能、高伸 缩性的网络应用。它通过JavaNIO 提供了一个抽象的、事件驱动的、异步的位 于各种传输协议(如TCP/IP和UDP/IP)之上的API, Apache MINA 通常可被称之为: NIO 框架库; 客户端/服务器框架库; 或者一个网络socket 库。 然而,它所提供的功能远不止这些。 (以上内容大致翻译自Apache MINA网站) 如期官方文档的介绍,Apache MINA 是一个网络应用程序框架,它对Java中的 socket 和NIO进行了有效和清晰的封装,方便开发人员开发TCP/UDP程序,从 而抛开在使用原始的 socket 时需要考虑的各种繁杂而又烦人问题(线程、性能、 会话等),把更多精力专著在应用中的业务逻辑的开发上。 Apache MINA 有两个主要版本:2.0 和 1.1,2.0与1.1有较大的区别,其采用 java NIO进行开发,使得性能得到有效的提升,在接口方面也有不小的变化,具 体信息可以参见其网站说明。 下面的介绍以 Apache MINA2.0 为例。 2。软件准备 要编写和运行一个基于Apache MINA2.0的程序,需要JDK 5.0以上版本,还需 要以下软件: (1)MINA2.xCore 下载地址:/downloads.html (2)SLF4J 1.3.0orgreater 下载地址:/download.html 这里需要用到两个 SLF4J 的jar 包:slf4j-api.jar 和 slf4j-jdk14.jar。 分别解压下载的MINA2.xCore 和SLF4J 文件,找出下列jar 包文件: mina-core-2.0.0-M1.jar slf4j-api.jar slf4j-jdk14.jar 3。编写一个Apache MINA 时间服务器 该程序的功能非常简单,就是当客户端连接到服务器的9123端口后,程序将服 务器当前的时间信息以字符串的形式发送给客户端。 我们可以用Eclipse 来创建编写这个程序。 (1)在 Eclipse 中创建一个 Java 项目,例如 TimeServerProject,然后将 mina-core-2.0.0-M1.jar、slf4j-api.jar 和 slf4j-jdk14.jar 这三个文件添加到项目的 Libraries 中。 (2)创建一个 MinaTimeServer 类,其内容为: import java.io.IOException; import .InetSocketAddress; import java.nio.charset.Charset; import mon.IdleStatus; import mon.IoAcceptor; import org.apache.mina.filter.codec.ProtocolCodecFilter; import org.apache.mina.filter.codec.textline.TextLineCodecFactory; import org.apache.mina.filter.logging.LoggingFilter; import org.apache.mina.transport.socket.nio.NioSocketAcceptor; public class MinaTimeServer { privatestatic final int PORT=9123; public static void main(String[] args) throws IOException{ IoAcceptor acceptor =new NioSocketAcceptor(); acceptor.getFilterChain().addLast(logger, new LoggingFilter()); acceptor.getFilterChain().addLast( codec, new ProtocolCodecFilter(new TextLineCodecFactory(Charset .forName(UTF-8)))); acceptor.setHandler(newTimeServerHandler()); acceptor.getSessionConfig().setReadBufferSize(2048); acceptor.getS

文档评论(0)

1亿VIP精品文档

相关文档