APACHE MINA之ECHO服务器

import org.apache.mina.core.service.IoAcceptor;
import org.apache.mina.core.service.IoHandlerAdapter;
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.transport.socket.nio.NioSocketAcceptor;

import java.io.IOException;
import java.net.InetSocketAddress;

class MyIoHandler extends IoHandlerAdapter {
    @Override
    public void messageReceived(IoSession session, Object message) throws Exception {
        String str = (String)message;

        if (str.compareToIgnoreCase("bye") == 0) {
            session.closeOnFlush();
        } else {
            System.out.println(str);
            session.write(str + "\r\n");
        }
    }

    @Override
    public void sessionOpened(IoSession session) throws Exception {
        session.write("welcome\r\n");
    }
}

public class Server {

    public static void main(String argv[]) {
        new Server().Start();
    }

    public Server() {

    }

    public void Start() {
        IoAcceptor acceptor = new NioSocketAcceptor();

        acceptor.getFilterChain().addLast("codec", new ProtocolCodecFilter(new TextLineCodecFactory()));
        acceptor.setHandler(new MyIoHandler());
        try {
            acceptor.bind(new InetSocketAddress(8888));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


mina-core-2.0.13.jar

slf4j-api-1.7.19.jar

slf4j-nop-1.7.19.jar

你可能感兴趣的:(APACHE MINA之ECHO服务器)