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