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]