Mina框架实现最简单的服务端(一)
2016-03-31 19:16
218 查看
创建和启动服务端
package minabase.server; import java.net.InetSocketAddress; import java.nio.charset.Charset; import org.apache.mina.core.service.IoAcceptor; import org.apache.mina.core.session.IdleStatus; import org.apache.mina.filter.codec.ProtocolCodecFilter; import org.apache.mina.transport.socket.nio.NioSocketAcceptor; /** * Class Description: 用mina框架启动服务端 * Copyright: Copyright (c) * */ public class server { private static IoAcceptor acceptor = null; /** * @param args */ public static void main(String[] args) { int port = 8100; try { String codecName = "US-ASCII"; //创建一个非阻塞的 server 端的 Socket acceptor = new NioSocketAcceptor(); //设置读取数据的缓冲区大小 acceptor.getSessionConfig().setReadBufferSize(2048); //读写通道10秒内无操作进入空闲状态 acceptor.getSessionConfig().setIdleTime(IdleStatus.BOTH_IDLE, 120000); //acceptor.getFilterChain().addLast("logger", new MyLoggingFilter()); acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new MyCodecFactory(new MyCodecDecoder( Charset.forName(codecName)), new MyCodecEncoder(Charset.forName(codecName))))); //acceptor.getFilterChain().addLast("session", new SessionFilter()); // 绑定逻辑处理器 acceptor.setHandler(new BusinessHandler()); //绑定端口 acceptor.bind(new InetSocketAddress(port)); System.out.println("Server starts successfully ... port: " + port); } catch (Exception e) { System.out.println("Server starts unsuccessfully with the xception: " + e); if (!acceptor.isDisposed()) { acceptor.dispose(); } } } }
相关文章推荐
- 用Jquery做图片轮播
- vm虚拟机崩溃的处理经历
- 预热任务之git、github、sourcetree入门笔记
- 图示经典算法--三向切分的快速排序
- excel列名和序列之间的转换
- java 计算字符串最后一个单词的长度,空格隔开
- JDBC使用DAO工厂模式
- CSDN数学符号
- 【spring基础】spring声明式事务详解
- mac问题小笔记
- Spring BeanNameAutoProxyCreator 与 ProxyFactoryBean区别
- 【log4j】log4j.properties
- ListView源码解析
- Puppet使用方法总结
- Android_事件纷发
- iOS一分钟学会环形进度条
- 正则表达式备忘录-Regular Expressions Cheatsheet中文版
- sublime sftp 打开远程文件夹
- [国嵌攻略][172][监控主系统设计与开发]
- JAVA限制文本框输入