Aşağıda basit bir Hello World cevabı veren bir socket sunucu örneği görülmektedir :
import java.io.*;
import java.net.*;
import org.apache.mina.core.service.*;
import org.apache.mina.core.session.*;
import org.apache.mina.filter.codec.*;
import org.apache.mina.filter.codec.textline.*;
import org.apache.mina.transport.socket.nio.*;
public class HelloWorldMinaServer {
public static void main(String[] args) throws IOException {
IoAcceptor acceptor = new NioSocketAcceptor();
acceptor.getFilterChain().addLast( "codec",
new ProtocolCodecFilter(
new TextLineCodecFactory()));
acceptor.setHandler( new HelloWorldMinaServerHandler() );
acceptor.bind( new InetSocketAddress(9123) );
}
public static class HelloWorldMinaServerHandler extends IoHandlerAdapter{
@Override
public void messageReceived( IoSession session, Object message ) throws Exception
{
String str = message.toString().trim();
if( str.equalsIgnoreCase("quit") ) {
session.close();
return;
}
session.write("Hello World");
}
@Override
public void exceptionCaught( IoSession session, Throwable cause ) throws Exception
{
cause.printStackTrace();
}
}
}
Sunucu client'den gelen "quit" dışındaki tüm mesajlara "Hello World" olarak cevap verecektir. quit dendiğinde session kapanacaktır.
Yukarıdaki proje basit olarak telnet ile test edilebilir :
telnet 127.0.0.1 9123
Bu ifadeden sonra komut yazıp enter'a basılırsa Hello World cevabı alınacaktır