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.ssl.SslFilter;
27 import org.apache.mina.transport.socket.SocketAcceptor;
28 import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
29
30
31
32
33
34
35
36 public class Main {
37
38 private static final int PORT = 8080;
39
40
41 private static final boolean USE_SSL = false;
42
43 public static void main(String[] args) throws Exception {
44 SocketAcceptor acceptor = new NioSocketAcceptor();
45 DefaultIoFilterChainBuilder chain = acceptor.getFilterChain();
46
47
48 if (USE_SSL) {
49 addSSLSupport(chain);
50 }
51
52
53 acceptor.setHandler(new EchoProtocolHandler());
54 acceptor.bind(new InetSocketAddress(PORT));
55
56 System.out.println("Listening on port " + PORT);
57
58 for (;;) {
59 System.out.println("R: " + acceptor.getStatistics().getReadBytesThroughput() +
60 ", W: " + acceptor.getStatistics().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 }