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 acceptor.setReuseAddress( true );
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.getStatistics().getReadBytesThroughput() +
61 ", W: " + acceptor.getStatistics().getWrittenBytesThroughput());
62 Thread.sleep(3000);
63 }
64 }
65
66 private static void addSSLSupport(DefaultIoFilterChainBuilder chain)
67 throws Exception {
68 SslFilter sslFilter = new SslFilter(BogusSslContextFactory
69 .getInstance(true));
70 chain.addLast("sslFilter", sslFilter);
71 System.out.println("SSL ON");
72 }
73 }