MINA2实用手册
ﻩﻩﻩﻩﻩﻩﻩﻩﻩﻩ ﻩ ﻩ作者:李庆丰
ﻩﻩﻩﻩﻩﻩﻩ ﻩﻩﻩﻩﻩ Email:
MINA框架是对java的NIO包的一个封装,简化了NIO程序开发的难度,封装了很多底层的细节,然开发者把精力集中到业务逻辑上来,最近做了一个相关的项目,为了备忘对MINA做一个总结。
服务端初始化及参数配置
MINA2初始化很简单。
基本的初始化参数如下:
//初始化Acceptor—可以不指定线程数量,MINA2里面默认是CPU数量+2 ﻫ NioSocketAcceptor acceptor = new NioSocketAcceptor(5); ﻫ ﻫ threadPool = (1500);//建立线程池 ﻫ //加入过滤器(Filter)到Acceptor ﻫ acceptor.getFilterChain().addLast("exector", new ExecutorFilter(threadPool));
//编码解码器ﻫacceptor.getFilterChain().addLast("codec", ﻫ new ProtocolCodecFilter(new WebDecoder(),new XmlEncoder()));
//日志ﻫ LoggingFilter filter = new LoggingFilter(); ﻫ filter.setExceptionCaughtLogLevel(); ﻫ (); ﻫ (); ﻫ (); ﻫ filter.setSessionCreatedLogLevel(); ﻫ (); ﻫ (LogLevel.DEBUG);
().addLast("logger", filter);
ﻫ acceptor.setReuseAddress(true);//设置的是主服务监听的端口可以重用 ﻫ ().setReuseAddress(true);//设置每一个非主监听连接的端口可以重用
MINA2中,当启动一个服务端的时候,要设定初始化缓冲区的长度,如果不设置这个值,系统默认为2048,当客户端发过来的消息超过设定值的时候,MINA2的机制是分段接受的,将字符是放入缓冲区中读取,所以在读取消息的时候,需要判断有多少次。这样的好处就是可以节省通讯的流量。().setReceiveBufferSize(1024);//设置输入缓冲区的大小
().setSendBufferSize(10240);//设置输出缓冲区的大小
ﻫ//设置为非延迟发送,为true则不组装成大包发送,收到东西马上发出 ﻫ ().setTcpNoDelay(true);
ﻫ//设置主服务监听端口的监听队列的最大值为100,如果当前已经有100个连接,再新的连接来将被服务器拒绝 ﻫ (100); ﻫ (new InetSocketAddress(port)); ﻫ //加入处理器(Handler)到Acceptor ﻫ (new YourHandler()); ﻫ (); ﻫ} ﻫ
初始化客户端
客户端的初始
MINA2实用手册 来自淘豆网m.daumloan.com转载请标明出处.