我們先看一個最簡單的Mina Server服務端代碼,該段代碼實現了服務端Server啟動並監聽客戶端請求
package com.bypay.mina.server; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.charset.Charset; import org.apache.mina.core.service.IoAcceptor; import org.apache.mina.filter.codec.ProtocolCodecFilter; import org.apache.mina.filter.codec.textline.TextLineCodecFactory; import org.apache.mina.transport.socket.nio.NioSocketAcceptor; import com.bypay.mina.handler.TimeServerHandler; /** * 最簡單的Mina Server * @author 唐延波 * @date 2015-2-22 * */ public class MinaSimpleServer { private static final int PORT = 9123; private static final String HOST = "localhost"; public static void main(String[] args) throws IOException { // 接收者 IoAcceptor acceptor = new NioSocketAcceptor(); // 設置編碼器 acceptor.getFilterChain().addLast( "codec", new ProtocolCodecFilter(new TextLineCodecFactory(Charset .forName("UTF-8")))); //設置Handler acceptor.setHandler(new TimeServerHandler()); // 綁定端口,啟動服務,並開始處理遠程客戶端請求 acceptor.bind(new InetSocketAddress(HOST,PORT)); System.out.println("服務端啟動成功"); } }
下面我們用telnet命令去連接這個服務端
cmd>telnet localhost 9123
輸入任意字符,顯示當前時間,輸入quit退出連接