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