创建和启动服务端
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(); } } } }