apache mina 入门
来源:互联网 发布:微商授权查询系统源码 编辑:程序博客网 时间:2024/06/07 04:46
一、服务器端:
package com.ppt.mina;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.filter.logging.LoggingFilter;import org.apache.mina.transport.socket.nio.NioSocketAcceptor;public class MinaServer {private static int PORT = 9999;public static void main(String...aa) throws Exception {IoAcceptor acceptor = new NioSocketAcceptor();acceptor.getFilterChain().addLast("logger", new LoggingFilter());acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName("UTF-8"))));acceptor.setHandler(new ServerHandle());acceptor.bind(new InetSocketAddress(PORT));}}
二、服务器端处理类:
package com.ppt.mina;import org.apache.mina.core.service.IoHandlerAdapter;import org.apache.mina.core.session.IoSession;public class ServerHandle extends IoHandlerAdapter {@Overridepublic void sessionOpened(IoSession session) throws Exception {System.out.println("server session open");}@Overridepublic void sessionClosed(IoSession session) throws Exception {System.out.println("server session closed");}@Overridepublic void messageReceived(IoSession session, Object message)throws Exception {String str = message.toString();System.out.println(str);session.write("hello client");}}
三、客户端:
package com.ppt.mina;import java.net.InetSocketAddress;import java.nio.charset.Charset;import org.apache.mina.core.future.ConnectFuture;import org.apache.mina.core.session.IoSession;import org.apache.mina.filter.codec.ProtocolCodecFilter;import org.apache.mina.filter.codec.textline.TextLineCodecFactory;import org.apache.mina.filter.logging.LoggingFilter;import org.apache.mina.transport.socket.nio.NioSocketConnector;public class MinaClient {private static String ip = "127.0.0.1";private static int port = 9999;public static void main(String[] args) {NioSocketConnector connector = new NioSocketConnector();connector.setConnectTimeoutMillis(10000);connector.getFilterChain().addLast("logger", new LoggingFilter());connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory(Charset.forName("UTF-8"))));connector.setHandler(new ClientHandle());IoSession session = null;while(true) {ConnectFuture future = connector.connect(new InetSocketAddress(ip, port));future.awaitUninterruptibly();session = future.getSession();break;}session.getCloseFuture().awaitUninterruptibly();connector.dispose();}}
四、客户端处理类:
package com.ppt.mina;import org.apache.mina.core.service.IoHandlerAdapter;import org.apache.mina.core.session.IoSession;public class ClientHandle extends IoHandlerAdapter {@Overridepublic void sessionOpened(IoSession session) throws Exception {System.out.println("client session open");session.write("hello server");}@Overridepublic void sessionClosed(IoSession session) throws Exception {System.out.println("client session closed");}@Overridepublic void messageReceived(IoSession session, Object message)throws Exception {String str = message.toString();System.out.println(str);}}
mina给服务器段发信息,服务器返回一个信息,over。
0 0
- Apache MINA 快速入门
- Apache MINA 快速入门
- Apache MINA 快速入门
- Apache MINA 快速入门
- Apache MINA 快速入门
- Apache MINA 快速入门
- Apache Mina入门
- apache mina 入门
- Apache Mina 入门实例
- Apache Mina----基础入门
- Apache MINA 快速入门
- Apache MINA 快速入门
- Apache Mina 入门实例
- Apache Mina 2.0.x 入门
- Apache Mina 2.0.x 入门
- Apache MINA 快速入门指南
- Apache Mina 2.0.x 入门
- Apache MINA 2.0入门指南
- 海的那边,那一抹蔚蓝
- 从下往上增加的柱状图生成动画(适用于统计类应用)
- 样式
- jQuery最佳实践:精妙的自定义事件
- 局域网主机查看外网的IP
- apache mina 入门
- 2014/06/16面试总结
- 使用 CXF 做 webservice 简单例子
- 用gdb快速找到问题所在----入门
- INT64_C的含义
- 实现可编辑的表格
- jQuery Mobile 中文手册
- Dynamically Loaded (DL)
- 账务账号的新增