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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值