Java-Mina Server使用步骤

来源:互联网 发布:软件外包人员管理 编辑:程序博客网 时间:2024/05/16 14:52

使用步骤:
1,创建一个acceptor

//创建一个NioSocketAcceptorNioSocketAcceptor acceptor = new NioSocketAcceptor();

2,设置处理器

//设置处理器acceptor.setHandler(new SocketHandler());

3,绑定端口

acceptor.bind(new InetSocketAddress(8000));

4,添加滤镜

//添加滤镜acceptor.getFilterChain().addLast("textLineCode",new ProtocolCodecFilter(new TextLineCodecFactory()));

5,SocketHandler()

public class SocketHandler extends IoHandlerAdapter {    @Override    public void messageReceived(IoSession session, Object message) throws Exception {        super.messageReceived(session, message);        System.out.println("message Received");//        IoBuffer buffer = (IoBuffer) message;////        String str = new String(buffer.array(),"UTF-8");        String line = (String) message;        System.out.println(line);    }    @Override    public void messageSent(IoSession session, Object message) throws Exception {        super.messageSent(session, message);    }    @Override    public void sessionCreated(IoSession session) throws Exception {        super.sessionCreated(session);        System.out.println("session Created");    }}

自定义滤镜
1,新建StringFilter类继承IoFilterAdapter
2,重写messageReceive方法,在此方法里定义滤镜功能

@Overridepublic void messageReceived(NextFilter nextFilter, IoSession session, Object message) throws Exception {    IoBuffer buffer = (IoBuffer) message;    String str = new String(buffer.array(),"UTF-8").trim();    //将str传到下一个滤镜    super.messageReceived(nextFilter, session, str);}

3,主函数添加自定义滤镜

//添加自定义滤镜acceptor.getFilterChain().addLast("StringFilter",new StringFilter());
0 0
原创粉丝点击