1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.mina.example.echoserver;
21
22 import java.net.InetSocketAddress;
23
24 import org.apache.mina.core.filterchain.DefaultIoFilterChainBuilder;
25 import org.apache.mina.example.echoserver.ssl.BogusSslContextFactory;
26 import org.apache.mina.filter.logging.LoggingFilter;
27 import org.apache.mina.filter.ssl.SslFilter;
28 import org.apache.mina.transport.socket.SocketAcceptor;
29 import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
30
31
32
33
34
35
36
37 public class Main {
38
39 private static final int PORT = 8080;
40
41
42 private static final boolean USE_SSL = false;
43
44 public static void main(String[] args) throws Exception {
45 SocketAcceptor acceptor = new NioSocketAcceptor();
46 DefaultIoFilterChainBuilder chain = acceptor.getFilterChain();
47
48
49 if (USE_SSL) {
50 addSSLSupport(chain);
51 }
52
53
54 acceptor.setHandler(new EchoProtocolHandler());
55 acceptor.bind(new InetSocketAddress(PORT));
56
57 System.out.println("Listening on port " + PORT);
58
59 for (;;) {
60 System.out.println("R: " + acceptor.getReadBytesThroughput() + ", W: " + acceptor.getWrittenBytesThroughput());
61 Thread.sleep(3000);
62 }
63 }
64
65 private static void addSSLSupport(DefaultIoFilterChainBuilder chain)
66 throws Exception {
67 SslFilter sslFilter = new SslFilter(BogusSslContextFactory
68 .getInstance(true));
69 chain.addLast("sslFilter", sslFilter);
70 System.out.println("SSL ON");
71 }
72
73 private static void addLogger(DefaultIoFilterChainBuilder chain)
74 throws Exception {
75 chain.addLast("logger", new LoggingFilter());
76 System.out.println("Logging ON");
77 }
78 }