1 20 package org.apache.mina.example.chat; 21 22 import java.net.InetSocketAddress ; 23 24 import org.apache.mina.common.DefaultIoFilterChainBuilder; 25 import org.apache.mina.common.IoAcceptor; 26 import org.apache.mina.common.IoAcceptorConfig; 27 import org.apache.mina.example.echoserver.ssl.BogusSSLContextFactory; 28 import org.apache.mina.filter.LoggingFilter; 29 import org.apache.mina.filter.SSLFilter; 30 import org.apache.mina.filter.codec.ProtocolCodecFilter; 31 import org.apache.mina.filter.codec.textline.TextLineCodecFactory; 32 import org.apache.mina.transport.socket.nio.SocketAcceptor; 33 import org.apache.mina.transport.socket.nio.SocketAcceptorConfig; 34 35 41 public class Main { 42 43 private static final int PORT = 1234; 44 45 46 private static final boolean USE_SSL = false; 47 48 public static void main(String [] args) throws Exception { 49 IoAcceptor acceptor = new SocketAcceptor(); 50 IoAcceptorConfig config = new SocketAcceptorConfig(); 51 DefaultIoFilterChainBuilder chain = config.getFilterChain(); 52 53 if (USE_SSL) { 55 addSSLSupport(chain); 56 } 57 58 chain.addLast("codec", new ProtocolCodecFilter( 59 new TextLineCodecFactory())); 60 61 addLogger(chain); 62 63 acceptor.bind(new InetSocketAddress (PORT), new ChatProtocolHandler(), 65 config); 66 67 System.out.println("Listening on port " + PORT); 68 } 69 70 private static void addSSLSupport(DefaultIoFilterChainBuilder chain) 71 throws Exception { 72 SSLFilter sslFilter = new SSLFilter(BogusSSLContextFactory 73 .getInstance(true)); 74 chain.addLast("sslFilter", sslFilter); 75 System.out.println("SSL ON"); 76 } 77 78 private static void addLogger(DefaultIoFilterChainBuilder chain) 79 throws Exception { 80 chain.addLast("logger", new LoggingFilter()); 81 System.out.println("Logging ON"); 82 } 83 } 84 | Popular Tags |