杭州.Mark 发表于 2012-12-30 16:39:43

MINA学习

<div id="cnblogs_post_body">工作中遇到了MINA,以前没接触过,所以就想搞搞明白这东西干嘛的,怎么玩起来的。最近花了几天时间去学习,这里做个小结以整理知识加深理解。
    Apache MINA是一个网络应用框架框架,用来帮助用户简单地开发高性能和高可靠性的网络应用程序。它提供了一个通过Java NIO在不同的传输例如TCP/IP和UDP/IP上抽象的事件驱动的异步API。(至少知道是搞网络的框架了~~~)
    直接看个例子吧!!!
    实现一个简单的计算器服务,客户端发送要计算的表达式给服务器,服务器返回计算结果。比如客户端发送2+2,服务器返回4。
    (怎么就直接上代码了,还糊涂着呢!!!~~~哈哈哈Code Monkey总是如此的直接~~)
CalculatorHandler.java
<div class="bar"><div class="tools"><div class="cnblogs_code"> 1 public class CalculatorHandler extends IoHandlerAdapter { 2   private ScriptEngine jsEngine = null; 3    4   public CalculatorHandler() { 5         ScriptEngineManager sem = new ScriptEngineManager(); 6         jsEngine = sem.getEngineByName("JavaScript"); 7         if (jsEngine == null) { 8             throw new RuntimeException("Can't find JavaScript Engine"); 9       }10     }11   12     @Override13   public void messageReceived(IoSession session, Object message)14             throws Exception {15         String expression = message.toString();16         if ("quit".equalsIgnoreCase(expression.trim())) {17             session.close(true);18             return;19       }20         try {21             Object result = jsEngine.eval(expression);22             session.write("=" + result.toString());23         } catch (Exception e) {24             session.write("Wrong expression,try again.");25       }26   27     }28 }
页: [1]
查看完整版本: MINA学习